home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-19 / lasi401a.zip / LHI.HLP < prev    next >
Text File  |  1992-06-02  |  147KB  |  3,515 lines

  1. ≡≡
  2. Basic Information
  3.  
  4.  Introduction
  5.  
  6.                   LASI (LAyout System for Individuals)
  7.  
  8.                            (Pronounced "LAZY")
  9.  
  10.  
  11.   The LASI CAD System consists of a main program, a set of utility programs
  12.   and an information and help program. It was originally written for the
  13.   author's own professional use to do IC and semiconductor device layout on
  14.   a personal computer. It has also been used for hybrids, printed circuit
  15.   boards, schematic diagrams and other precision drawing applications. LASI
  16.   has become particularly valuable to students, schools, universities, or
  17.   anyone who doesn't have the funding for more elaborate drawing systems.
  18.  
  19.   LASI is intended to be friendly and intuitively obvious, which makes it
  20.   easy to learn and operate by occasional users. Once the basics are
  21.   understood, the commands usually require little additional explanation.
  22.   Most commands operate on the drawing globally, so that there are no
  23.   special editing procedures for different parts of a drawing. There are no
  24.   hierarchical command structures with pull down menus. All commands are
  25.   essentially random access through menus at the side of the display.
  26.   Information is usually entered by mouse or keyboard. When a command is
  27.   executed, the program is designed so that the results are displayed as
  28.   soon as possible, to give good operator interaction.
  29.  
  30.   Drawings made using LASI can be translated into other drawing systems by
  31.   utility programs. Presently, translation to and from CALMA Stream Format
  32.   and to Hewlett-Packard Graphics Language (HP-GL) is available. LASI also
  33.   has a drawing language of its own called TLC. Written in plain ASCII
  34.   text, TLC can be used to interchange drawings or to write auxiliary
  35.   programs that operate on LASI drawings.
  36.  
  37.   LASI is intended to be propagated by software alone. There is therefore
  38.   no printed manual. This LASI Help and Information program (LHI) displays
  39.   all the documentation, and individual topics can be printed if desired.
  40.  
  41.                                 ----------
  42.  
  43.   You should read the remaining Basic Information topics. If you are new to
  44.   LASI you should use the demonstration IC layout as a tutorial, if it has
  45.   been included on the distribution disk. By working with a simple layout,
  46.   you will get a good basic idea of how LASI works. If you have been using
  47.   LASI Version 3, you MUST read the Converting Versions topic. You should
  48.   also read the System Log, to see what changes have been made since the
  49.   last release.
  50.  Converting Versions
  51.  
  52.   If you have not been using LASI Version 3 and do not have drawings made
  53.   using it, you can skip these instructions.
  54.  
  55.   LASI Version 4 has many new features over Version 3. You should read the
  56.   System Log topic for a listing of the major changes.
  57.  
  58.   Version 4 of LASI now keeps its files in the directory "\LASI4". It is
  59.   important that the MS-DOS PATH be changed to include "\LASI4" and not
  60.   "\LASI" as was previously used, since many of the new files have the same
  61.   name as the old.
  62.  
  63.   As a protection, the file name extensions have been changed so that
  64.   internal files are invisible to the wrong version. You need to convert
  65.   your internal files (.BPV and .CEL) to Version 4 files (.BP4 and .CL4).
  66.   To do this quickly, the program 3TO4.COM has been supplied. To convert
  67.   your files simply run 3TO4.COM while logged into a drawing directory.
  68.   3TO4.COM will act only on the files in that directory and will create new
  69.   files and leave the old files unchanged.
  70.  
  71.   Converting back to Version 3 can be done by using the TLC.EXE program.
  72.   However, any text made using LASI Version 4 will be ignored. The NEW
  73.   TLC.EXE must be used to make the TLC files, and the OLD TLC.EXE must be
  74.   used to convert any TLC files to Version 3 internal files.
  75.  
  76.   The file CONSTS.DBD used in Version 3 has been replaced by the file
  77.   CONSTS4.DBD. The new file contains more information in a different order
  78.   than the old CONSTS.DBD file. You may leave the old file in your drawing
  79.   directory so that you can use Version 3 again for some reason.
  80.  
  81.   The CELLS.DBD file has been replaced by the CELLS4.DBD file This is
  82.   really the same file, but the name has been changed to prevent the wrong
  83.   version of LASI from writing to it.
  84.  
  85.   FORM.DBD in Version 4 contains new parameters. LASI is however smart
  86.   enough to read for parameter titles so that Version 3 can read through a
  87.   Version 4 Form File and pick out only what it needs.
  88.  Installing LASI
  89.  
  90.   The system files are distributed in compressed form. The distribution
  91.   should consist of a self-extracting executable file named LS4.EXE, and an
  92.   installation batch file LSINSTAL.BAT and possible demonstration files.
  93.  
  94.   The system files are listed in the System Contents help topic. If for
  95.   some reason you obtain LASI as individual files, you should check to see
  96.   if you have a complete set of files. All files should have the SAME DATE
  97.   to insure compatibility.
  98.  
  99.   LASI will be ready to run with just the basic installation. When you are
  100.   more familiar with LASI's workings you can do the advanced installation.
  101.  
  102.   Basic Installation:
  103.  
  104.   1. Run the installation batch file.
  105.  
  106.     This will create a subdirectory named "\LASI4" on your hard disk, if it
  107.     has not yet been created, and will extract and copy the system files to
  108.     that subdirectory.
  109.  
  110.   2. If there is a demonstration present on the distribution disk, the
  111.     installation will ask if you want the files to be installed. If you are
  112.     new to LASI you should install the demonstration, otherwise you can
  113.     skip it.
  114.  
  115.   3. Add the path "disk:\LASI4" to DOS using the "PATH" DOS Command,
  116.     where "disk" is the hard disk's drive letter name.
  117.  
  118.     Putting the path in your AUTOEXEC.BAT file is easiest.
  119.  
  120.  
  121.   Advanced Installation:
  122.  
  123.   1. If you have an appropriate line printer or plotter, set the FORM.DBD
  124.     file's "hcopy=" and "plot=" parameters to allow hard copies and plots
  125.     to be made. Use EDLIN.COM or MS-DOS 5's EDIT to change the FORM.DBD
  126.     file, to prevent any word processor formatting characters from being
  127.     inserted into the FORM.DBD file. Read the Form File General Information
  128.     and the HCPY Command Information help topics.
  129.  
  130.   2. Set the allocation parameters "rank=","box=",path=",vtx=" and "cell="
  131.     in the FORM.DBD files to the desired amounts. If you don't know how
  132.     many you need to allocate, use the default values. Read the Allocating
  133.     Memory and Form File General Information topics.
  134.  
  135.   3. If you have extended memory, install a RAM disk by putting the driver
  136.     into your CONFIG.SYS file. Turn on the RAM disk provision by setting
  137.     the "rdisk=" parameter in the FORM.DBD file to the letter of the RAM
  138.     disk. Read the Using RAM Disk General Information help topic.
  139.  
  140.   4. Once you have been using LASI for some time you will have some
  141.     favorite commands that you use often. You can write these into the
  142.     FORM.DBD file under the "fkey=" parameter, and further customize LASI
  143.     to your own way of working.
  144.  Terms of Distribution
  145.  
  146.   The LASI System can be copied and distributed by anyone. The self-
  147.   extracting executable LS4.EXE, the installation batch file LSINSTAL.BAT
  148.   and any optional files should be copied directly from the distribution
  149.   disk. Files should NOT be distributed individually, since all the files
  150.   are intended to work with each other in the same distribution. Files
  151.   should all have the SAME DATE.
  152.  
  153.   An attempt will be made to keep known users updated with the latest
  154.   version by informing them that a new version is available, or by just
  155.   sending out new floppy disks.
  156.  
  157.   If dangerous bugs are discovered an attempt will be made to notify or
  158.   send corrected programs to known users.
  159.  
  160.   The author maintains a database of know users, but unknown secondary
  161.   users should be kept updated by those who gave them the software.
  162.  
  163.   Updating secondary users is a responsibility that should be taken
  164.   seriously. People have been found using ancient versions of the programs,
  165.   which have since been debugged, greatly improved, or completely revised.
  166.  
  167.   To prevent continuously notifying or sending updates to anyone who really
  168.   isn't using LASI, There is a CUTOFF PERIOD OF ONE YEAR, after which
  169.   updates will have to be requested.
  170.  
  171.   As a general rule, to be sure that you have the most current software
  172.   contact the author directly.
  173.  
  174.                                 ----------
  175.  
  176.   The LASI System has been written over a period of several years, mostly
  177.   for the author's own professional use, and therefore was not intended as
  178.   profit-making software.
  179.  
  180.   For this reason, LASI is free for educational use in order to foster IC
  181.   design as a heuristic exercise and a true art. It is also free for non-
  182.   profit applications by individuals.
  183.  
  184.   However, if LASI.EXE (or LASIA.EXE) is used to MAKE A PROFIT, then a
  185.   VOLUNTARY license fee of $99 PER COMPUTER on which it is installed is
  186.   requested. This license is for a period of ONE YEAR and should be made
  187.   payable to the author.
  188.  
  189.   When LASI is licensed, free updates will be provided during the license
  190.   period, and will continue to be provided if the license is renewed.
  191.  
  192.   This fee is not just to ease the conscience of someone making a profit
  193.   and using LASI for free, but helps to pay for improving LASI with new
  194.   hardware and software and sending out updates to everyone. The fee is not
  195.   expected to be a compensation for the endless hours of coding and
  196.   debugging that have gone into producing LASI.
  197.  Terms of Liability
  198.  
  199.   The LASI System is constantly being revised and is distributed on an
  200.   "as is" basis. Since the programs are quite complicated, software bugs
  201.   may be found, often when someone does something that only rarely would be
  202.   done. If you have what you think is a real bug, then report it, and an
  203.   attempt will be made to fix it.
  204.  
  205.   Neither the author nor any person distributing the LASI System assumes
  206.   any responsibility for whomever uses the programs or for how the programs
  207.   are used. Also, neither the author nor any person distributing the
  208.   software assumes any liability for any losses monetary or otherwise
  209.   incurred related to the use of the programs.
  210.  Final Comment
  211.  
  212.   With the proper software, personal computers have easily become adequate
  213.   for small to medium sized IC layout applications. LASI can give everyone
  214.   a personal computer based work station.
  215.  
  216.   Although it may be used that purpose, LASI was not really intended for
  217.   doing routine IC or ASIC design. Instead, LASI was developed as a
  218.   "fundamental" drawing system, which can generate arbitrary shapes that
  219.   might be needed in any kind of application. It was also intended for
  220.   people who think in a particular spatial way, as anyone working with it
  221.   will soon realize.
  222.  
  223.   Actually, LASI was really intended to put some fun and relaxation into
  224.   doing layout tasks by allowing a person to work when and where they want,
  225.   and therefore, it is believed, do better more creative work.
  226.  
  227.   Anyone using LASI for fun or profit is encouraged to contact me with any
  228.   suggestions or requests for additional utility or conversion programs.
  229.  
  230.  
  231.  
  232.                                         Dave Boyce
  233.  
  234.  
  235.                                         Dr. David E. Boyce
  236.                                         143B Bergdorf Rd., RR1
  237.                                         Parish, NY 13131, USA
  238.                                         315-625-7291
  239. General Information
  240.  
  241.  Allocating Memory
  242.  
  243.   A LASI drawing is made out of boxes, paths, polygons, text and cells,
  244.   which are collectively called OBJECTS. The data for these objects is kept
  245.   in what is known as conventional memory, the memory from 0K to 640K
  246.   bytes. The LASI.EXE program is loaded at some low address determined by
  247.   the DOS system. LASI.EXE will use about 225K, and the remaining memory
  248.   space can be used for drawing data. The partitioning of the data memory
  249.   space between various types of objects is written MANUALLY by the user
  250.   into the FORM.DBD file. In future versions of LASI there may be a memory
  251.   management system that allocates memory dynamically by blocks on demand.
  252.  
  253.   Since the applications for LASI or even the drawing habits of the user
  254.   can vary considerably, the required numbers of each type of object can
  255.   also vary. For instance, when doing an IC layout, you might use boxes
  256.   heavily. If a schematic is being drawn, polygons and text will be used
  257.   more often. When LASI starts it reads the Form File and allocates a fixed
  258.   number of each type of object. The number can usually be increased if
  259.   necessary, and warnings occur if a limit is reached.
  260.  
  261.   There is an automatic limit on the maximum number of each type of object
  262.   that can be allocated, but the amount of memory that can be requested by
  263.   LASI with full allocations is just about all that remains of 640K of
  264.   conventional memory. DOS needs at least 64K available to load most
  265.   anything at first. (It can then give memory back.) If you fill your
  266.   memory, you won't be able to call some other small programs from LASI,
  267.   such as the screen hardcopiers, or even help. To make the most memory
  268.   space available, you should minimize the "resident" programs (TSRs) and
  269.   drivers that you install when booting up your computer. With the newer
  270.   DOS's you can load much of your resident software into high memory. Read
  271.   the MS-DOS 5 topic.
  272.  
  273.   You should be relieved to know, however, that most drawings can be done
  274.   with nowhere near the maximum number of objects permitted. Particularly,
  275.   if you properly use cell nesting. That is, you use the wise practice of
  276.   making repetitious drawing sections into cells. Additionally, LASI in
  277.   System Mode gives back the memory allocated for objects anyway, so that
  278.   larger programs can be called from System Mode than from Cell Mode.
  279.  
  280.   Boxes are allocated on their own. You will tend to use boxes in some
  281.   situations where rectangular patterns are favored, such as making simple
  282.   transistors in an IC layout. In that case, you will probably allocate
  283.   many boxes.
  284.  
  285.   Paths and vertices although dependent are allocated independently because
  286.   there is no really good relationship between them. Each path requires at
  287.   least 2 vertices, but after that the number of vertices per path will
  288.   depend on what shapes you make. Curved figures can use many vertices, but
  289.   paths used for orthogonal interconnections will use just a few. LASI and
  290.   the various utility programs treat paths and vertex numbers as virtually
  291.   unrelated. There is a small feature in LASI, where if you allocate
  292.   vertices and leave the path allocation blank, you will get 1/4 the number
  293.   of vertices for your paths.
  294.  
  295.   The depth to which you intend to nest cells is set by the user in the
  296.   Form File as the maximum RANK. The required number of cells depends on
  297.   the depth to which you nest your drawings. The maximum rank that you set
  298.   is used to divide the total memory space available to cells. If you set
  299.   the maximum rank low, you GET more cells per rank; if the maximum rank is
  300.   set high, you NEED less cells per rank.
  301.  
  302.   Read the Form File topic for more specific information.
  303.  Backups
  304.  
  305.   It is highly recommended that you keep current backups of your drawings.
  306.   You should use the TLC external data format. The TLC format is written in
  307.   ASCII text, and is very forgiving. It may in fact be written or repaired
  308.   using a text editor.
  309.  
  310.   To dump a complete drawing you only need to run TLC.EXE in a drawing
  311.   directory, or alternately, to dump only a certain cell, give it the name
  312.   of the that cell and TLC.EXE will make all the required cells. Backup TLC
  313.   files may be written directly to a floppy disk if they will all fit, or
  314.   they can be written to a hard disk and then to one or more floppy disks.
  315.  
  316.   Once TLC files are made, a complete drawing or individual cells can be
  317.   reconstructed if necessary.
  318.  
  319.   It might be said that TLC is the true way of storing LASI drawings. The
  320.   internal data files (BP4 and CL4 files) are really a convenience to
  321.   reduce the startup time for LASI.
  322.  
  323.   Read the TLC Conversion topic.
  324.  Command Menus
  325.  
  326.   Most operations are done by selecting a command from a menu on the side
  327.   of the screen. The mouse cursor will turn into a box around the command
  328.   that will be chosen. Clicking the right mouse button activates the
  329.   command.
  330.  
  331.   In Cell Mode there are two menus that contain the Cell Mode commands. To
  332.   flip between them, simply click the right mouse button with the cursor in
  333.   the drawing area, not in the menu area.
  334.  
  335.   In Cell Mode the current resident command is shown at the top center of
  336.   the screen.
  337.  
  338.  
  339.   The colors usually mean something. Generally the cyan commands affect
  340.   boxes and paths, the yellow affect cells, an the green both, with many
  341.   exceptions. Commands intended to stand out are generally red. Some
  342.   commands are colored just to look pretty or give good contrast.
  343.  Command Types
  344.  
  345.   The commands that are found on the menus do many things. The commands all
  346.   have help topics. Read the topic for information on each.
  347.  
  348.   Some types of commands deserve special mention:
  349.  
  350.     RESIDENT commands are commands that stay in place until you change to
  351.     another resident command. There is always a default resident command
  352.     when working on a drawing.
  353.  
  354.     The resident commands are: ADD, AGET, CGET, CMOV, CPUT, CPY, FGET,
  355.     FPUT, FULL, GET, MOV, OUTL, PBEG, PEND, PUT, QMOV, TEXT, WGET and WMOV.
  356.  
  357.     WINDOW commands are commands that change the window display. These
  358.     commands are nestable within a resident command. For example, you can
  359.     reposition the window display an unlimited number of times while you
  360.     still have the second point of a MOV pending. The command listed at the
  361.     top of the display changes color to tell you that you are in a nested
  362.     command that is asking for an input.
  363.  
  364.     The window commands are: ARROWS, CNTR, DGRD, DRAW, FIT, GRID, OPEN,
  365.     RDRW, VIEW, WGRD, RSTR, SAVE, XPND and ZOOM.
  366.  
  367.     DOS commands are commands that run other programs with LASI as the
  368.     shell. These commands can cause "out of memory" or "not available"
  369.     errors if you don't have enough RAM available.
  370.  
  371.     The DOS commands are: DOS, HCPY, PLOT, TLC IN, TLC OUT and help F1.
  372.  
  373.  
  374.   Other commands are either self-executing or may request additional
  375.   information before executing. In System Mode information is requested at
  376.   the left of the screen. In Cell Mode information is usually requested on
  377.   the last line. Any default values, shown in parentheses, will be retained
  378.   by pressing ENTER.
  379.  
  380.  
  381.   Important:  Any command that is expecting a cursor input point can be
  382.   cancelled by selecting the same command or a new command. Window commands
  383.   can be cancelled within a resident command without cancelling the
  384.   resident command.
  385.  Common Problems
  386.  
  387.   When LASI is started it checks for the FORM.DBD file, the CONSTS4.DBD
  388.   file, the CELLS4.DBD file and the Text Font File (usually TXT.DBD). It
  389.   also checks the hardware for the mouse and the kind of video adapter you
  390.   have. If there is a problem LASI should tell you. This may not be perfect
  391.   and if you crash first suspect the CONSTS4.DBD file. It may be incorrect.
  392.   Simply erase it from your drawing directory. LASI will make a new one.
  393.   CONSTS4.DBD files made with older versions of LASI are not guaranteed to
  394.   work with newer versions of LASI.
  395.  
  396.   If you crash or you get a "Not Available" message, when running programs
  397.   such as TLC.EXE or LASI2HP.EXE with LASI.EXE as the shell, you probably
  398.   have run out of conventional memory. Downsize the allocated space for
  399.   boxes etc. to reduce your memory requirements by changing the settings in
  400.   the FORM.DBD file.
  401.  
  402.   LASI checks memory, and refuses to execute if it thinks that there is too
  403.   little available, but it is not perfect because it really doesn't know
  404.   how much memory a program needs. DOS eventually determines this.
  405.  
  406.  
  407.   The LASI System is a very complex and evolving system. It is possible
  408.   that situations will occur with different hardware and software
  409.   environments that will cause difficulties. Once authentic problems are
  410.   reported they are usually fixed. Consult the author or your source of
  411.   this software for the latest version.
  412.  Drawing Speed
  413.  
  414.   On a fairly slow computer, drawing a large number of cells can take a
  415.   considerable amount of time. LASI has several features to allow you to
  416.   work on larger drawings more effectively. These are as follows:
  417.  
  418.   1. Pressing the ESC key or clicking the right mouse button causes a
  419.     drawing sequence to abort in two stages. The first stage forces cells
  420.     to be drawn as lightly dashed outlines. The second stops the present
  421.     cell's boxes and paths from being drawn. You don't have to fully draw
  422.     an overall drawing if you only want to locate a certain area. Just find
  423.     where it is and ZOOM in.
  424.  
  425.   2. Cells may be replaced by their outline, which draws almost instantly.
  426.     Read the OUTL and FULL Command Information topics.
  427.  
  428.   3. Objects that are too small to draw may be skipped by setting the
  429.     resolution properly. Read the SET Command Information topic.
  430.  
  431.   4. Objects that are out of a draw window are remembered and are skipped
  432.     for certain commands.
  433.  
  434.   5. The cell files may be (and should be) automatically transferred to a
  435.     RAM disk. Read the RAM Disk General Information topic.
  436.  
  437.  
  438.   Note:  If you speed up drawing using first method, active box sides and
  439.   active vertices are still drawn or marked, and active cells are still
  440.   drawn as filled outlines. This is to indicate where an active object is
  441.   located.
  442.  Error Messages
  443.  
  444.   Most messages are self-evident and appear in the dialog area in System
  445.   Mode, on the bottom line in Cell Mode, or on the top line in both modes
  446.   when DOS calls are made. Most error messages due to memory limitations
  447.   are less obvious and are as follows:
  448.  
  449.     "Not Enough Memory!" means that you have run out of memory when
  450.     starting LASI. You are requesting too much memory in your FORM
  451.     parameters.
  452.  
  453.     "Not Available!" means that LASI will not act as a "shell" to execute
  454.     other programs ("child" processes). If so, downsize your Form File
  455.     allocations if you can.
  456.  
  457.     "Rank Error!" means that you are trying to work with a cell that has a
  458.     high rank than the limit that you have set in your Form File.
  459.  
  460.     "Not Enough Space to Load CELLNAME OBJECTS!" means that you have too
  461.     little space allocated to properly load a cell file.
  462.  
  463.     "OBJECT Limit Reached!" means that you are trying to add an object that
  464.     exceed its allocation.
  465.  
  466.     "Not Enough Space to Smash CELLNAME!" means that there isn't enough
  467.     space allocated to hold the objects that would result if a cell is
  468.     smashed.
  469.  File Types
  470.  
  471.   LASI.EXE uses several files when it is run. These are:
  472.  
  473.   DBD (drawing basic data) files:
  474.  
  475.     CELLS4.DBD is the master list of cells used by LASI.EXE to know which
  476.     cells it has to use in a drawing. The position of a cell in the file is
  477.     an index used by LASI.EXE to keep track of which cells are used in
  478.     other cells.
  479.  
  480.     FORM.DBD contains the configuration information used by LASI.EXE when
  481.     it starts. Read the Form File topic.
  482.  
  483.     CONSTS4.DBD is a file that is maintained by LASI.EXE itself, and
  484.     contains the information (or constants) that determine the immediate
  485.     settings of many parameters. Although it is ASCII this file should not
  486.     be edited.
  487.  
  488.     TXT.DBD is a generic Text Font File. This file is a binary file that
  489.     contains patterns for the text characters. This file was generated by
  490.     the MAKETXT.EXE utility and can only be modified using that utility.
  491.     Otherwise, the user is free to make his own fonts following the
  492.     directions under the topic Text Generation.
  493.  
  494.  
  495.   Cell Data Files:
  496.  
  497.     Cell data files are named with the name of a cell with a .BP4 or a .CL4
  498.     extension.
  499.  
  500.     BP4 files are internal binary files that contain information regarding
  501.     boxes, paths, text and vertices. These files are maintained by LASI.EXE
  502.     and other utilities and are not to be externally edited.
  503.  
  504.     CL4 files are internal files that contain information regarding which
  505.     cells are contained in other cells. Rank 1 cells do not produce these
  506.     files. These files are not to be externally edited.
  507.  Form File
  508.  
  509.   The configuration information for each drawing is in the FORM.DBD file.
  510.   This file must be in each drawing directory. You write it using a text
  511.   editor in standard DOS text format.
  512.  
  513.   The FORM parameters are keywords followed by "=" and then the FORM
  514.   variable. These may be in any order, or be omitted. If a parameter is
  515.   omitted a default parameter is used if possible.
  516.  
  517.   The present FORM parameters are:
  518.  
  519.     hdisk=C:,D:,etc.          (\LASI4 directory hard disk letter name)
  520.     rdisk=D:,etc. or blank    (RAM disk letter name)
  521.     fdisk=A: or B:            (floppy disk letter name)
  522.     rank=2-15                 (maximum rank available)
  523.     box=6500 max.             (maximum number of boxes per cell)
  524.     path=8100 max.            (maximum number of paths per cell)
  525.     vtx=32700 max.            (maximum number of vertices per cell)
  526.     cell=10900/(rank-1) max.  (maximum number of cells per cell)
  527.     hcopy=XXXX                (name of bitmap program to be used)
  528.     plot=XXXX                 (name of plotter support program)
  529.     text=XXXX                 (name of Text Font File)
  530.     vmode=vga or ega          (forces the display mode)
  531.     fkey=command line         (progressively assigns F-keys)
  532.  
  533.   The "hdisk=" variable is the letter name of the hard disk where the
  534.   \LASI4 directory is located and is used to find certain files.
  535.  
  536.   The "rdisk=" variable is the letter name of a RAM disk that was setup in
  537.   memory.  Read the Using RAM Disk topic for more information.
  538.  
  539.   The "fdisk=" variable is the letter name of the default floppy drive
  540.   where certain files are routinely imported and exported. Read the TLC IN
  541.   and TLC OUT topics.
  542.  
  543.   The parameters "box=", "path=", "vtx=", "cell=" and "rank=" allocate
  544.   memory space for the respective objects. These are limited automatically
  545.   individually, but you can run out of total memory due to your computer's
  546.   memory limitations.
  547.  
  548.   If the "path=" parameter is left blank or "0", or if it is left out of
  549.   the Form File, one quarter the number of vertices will be allocated for
  550.   paths.
  551.  
  552.   The variable of "hcopy=" is the name of the screen hardcopy program. Read
  553.   the HCPY Command Information topic for information on these programs.
  554.  
  555.   Important:  If you don't have a printer on the computer leave the
  556.   hardcopy parameter "hcopy=" blank. This will prevent the system from
  557.   possibly hanging up if HCPY is pushed.
  558.  
  559.   The variable of "plot=" is the name of the plotter program. At the
  560.   present there is only one plotter program LASI2HP.EXE.
  561.  
  562.   The variable of "text=" is the name of the Text Font File. If this
  563.   parameter is left blank or if it is left out of the Form File altogether,
  564.   the name "\LASI4\TXT.DBD" will be assumed. Note that this variable may
  565.   contain a DOS path. This allows you to make your own Text Font Files and
  566.   put them in any directory.
  567.  
  568.   The "vmode=" parameter overrides the automatic sensing of VGA or EGA
  569.   hardware. If you only have EGA, don't set this to "vga".
  570.  
  571.   The "fkey=" parameters progressively assign a command line to a function
  572.   key, starting with F2 (F1 is always HELP.) through F10, SHIFT-F1 through
  573.   SHIFT-F10, CTRL-F1 through CTRL-F10 and ALT-F1 through ALT-F10. Read the
  574.   F-keys topic for more details.
  575.  
  576.  
  577.   FORM is a command on the menus. It lists the FORM parameters of the
  578.   drawing directory where you are working.
  579.  
  580.   The FORM command also lists the approximate amount of memory that you
  581.   have left in conventional memory when all the space for objects is
  582.   allocated. Use this as a guide when setting your allocation parameters.
  583.  Hardcopy
  584.  
  585.   Hardcopies of the drawing display can be made by calling screen bitmap
  586.   printing programs. These are small programs that are included with the
  587.   LASI System. These hardcopy programs can send the bitmap data directly to
  588.   a printing device or can produce a file for later printing.
  589.  
  590.   Any hardcopy program is installed by including its name in the "hcopy="
  591.   parameter in the FORM.DBD file. Hardcopy programs are always kept in the
  592.   \LASI4 directory. When LASI calls a hardcopy program, it attaches that
  593.   path to the filename.
  594.  
  595.   Presently there are 2 hardcopy programs in the \LASI4 directory:
  596.  
  597.   1. LPHCPY.COM makes a black and white copy of the screen in standard IBM
  598.     (or Epson FX or LQ) format, using "standard" control codes.
  599.  
  600.     There are 3 arguments (upper or lowercase) that may be appended to the
  601.     "hcopy=lphcpy" parameter in the FORM.DBD file:
  602.  
  603.       "F" which causes a bitmap data file to be produced.
  604.  
  605.       "Q" which causes LQ format to be produced.
  606.  
  607.       "H" which causes a heavier copy to be made by duplicating any dots
  608.         printed.
  609.  
  610.     These arguments may be in any order.
  611.  
  612.     For example, "hcopy=lphcpy h q f" produces a file with heavy printing
  613.     for an LQ type printer.
  614.  
  615.     If you are making a data file, a small window will open and close in
  616.     the lower left of the screen requesting a file name.
  617.  
  618.     If you are operating in VGA graphics mode, the hardcopy that you get
  619.     will have a correct 1:1 aspect ratio.
  620.  
  621.     If you produce files in the Epson FX printer format. You can build
  622.     single or multiple sheet fax files for transmission using an Intel
  623.     SatisFAXion board.
  624.  
  625.   2. LJHCPY.COM makes a black and white copy on a  or DeskJet Printer. The
  626.     bitmap is produced at 75 dots/in. LJHCPY.COM produces a data file if a
  627.     command line argument "F" (or "f") is appended to the "hcopy=ljhcpy"
  628.     parameter in the FORM.DBD file. This data file may converted to other
  629.     formats, or copied to a LaserJet for printing later.
  630.  
  631.  
  632.   Read the HCPY Command Information topic.
  633.  Hardware
  634.  
  635.   The LASI will run in some configuration on almost any IBM compatible
  636.   computer with the right hardware options. A faster computer is always an
  637.   advantage. LASI will run quite nicely on a 386 or 486 based PC with clock
  638.   speed 25 MHz or more.
  639.  
  640.   This is briefly the required hardware:
  641.  
  642.     1. 640K of conventional memory
  643.     2. A hard disk
  644.     3. VGA or EGA adaptor and color monitor
  645.     4. A mouse
  646.     5. A math coprocessor (see below)
  647.  
  648.  
  649.   640K of Conventional Memory
  650.  
  651.     The main program LASI.EXE takes a minimum of about 225K. Drawing data
  652.     is kept in conventional memory also, so if you don't have full memory,
  653.     the size of your drawing will be excessively memory limited. You will
  654.     also not be able to run certain programs from LASI.EXE.
  655.  
  656.     Using extended memory and MS-DOS 5 (or newer) from Microsoft or DR-DOS
  657.     6.0 from Digital Research will improve this situation because these
  658.     operating systems move drivers to high memory.
  659.  
  660.     Read the Allocating Memory topic for more information on use of memory.
  661.  
  662.  
  663.   Hard Disk
  664.  
  665.     While working on a drawing, the basic drawing files (or cell files)
  666.     need to be swapped back and forth to the disk. The hard disk should be
  667.     as fast as possible. Each cell may use one or two files for storage.
  668.     One cell file can be as large as 384K, the other 64K. Files this large
  669.     will be rare, if not impossible due to RAM limitations. However, for
  670.     large drawings with many cells, a total of several megabytes of disk
  671.     space may still be needed.
  672.  
  673.  
  674.   EGA or VGA Adaptor and Color Monitor
  675.  
  676.     LASI.EXE uses some direct hardware access so the EGA or VGA board must
  677.     be register compatible to the IBM standard. If you have VGA graphics,
  678.     the VGA will default to VGA 640x480 16 color graphics mode. If you have
  679.     EGA you will default to 640x350 graphics mode. You may override the
  680.     automatic default by setting the "vmode=" parameter in the Form File
  681.     however.  Because LASI.EXE writes directly to the hardware, you will
  682.     get faster graphics if you use a 16-bit graphics board, instead of an
  683.     8-bit board. In ISA (AT) type computers of any CPU speed, the bus speed
  684.     is usually still 8MHz. A computer with built-in VGA may be faster,
  685.     since graphics data transfer may not be bus speed dependent.
  686.  
  687.  
  688.   Mouse
  689.  
  690.     Pretty much everything is done graphically by mouse. All mouse function
  691.     calls conform to Microsoft Mouse Protocol. LASI.EXE does little more
  692.     than look for button pushes and return screen location. The cursors are
  693.     drawn directly, so LASI is very mouse tolerant. Any mouse that has at
  694.     least two buttons, has driver software that works with EGA or VGA, and
  695.     understands some basic Microsoft mouse driver function calls should
  696.     work with any of the LASI System programs.
  697.  
  698.     To use the mouse, first be sure that the mouse driver software that
  699.     came with your mouse is installed according to your mouse's
  700.     instructions, and that you know that the mouse works with most other
  701.     programs. Using current Microsoft mouse driver software and a Microsoft
  702.     compatible mouse is usually best.
  703.  
  704.  
  705.   Math Coprocessor (80287, 80387, etc)
  706.  
  707.     Most of the math is done in integer form, which is handled by the CPU
  708.     directly. A certain amount of floating point arithmetic is also done.
  709.     If you try to run LASI.EXE without a coprocessor, the program will
  710.     return a system error. If you don't have a coprocessor and can't afford
  711.     one, another version of LASI, LASIA.EXE is provided that uses alternate
  712.     math function calls and is about half as fast in certain situations as
  713.     LASI.EXE.
  714.  
  715.  
  716.   Optional but Desirable:
  717.  
  718.     1. Extended memory
  719.     2. A printer
  720.  
  721.  
  722.   Extended Memory
  723.  
  724.     In addition to using less conventional memory if a newer DOS is used,
  725.     drawing speed may be improved by using extended memory for a RAM disk.
  726.     The amount of additional memory is dependent on the amount of data in
  727.     the layout drawings that you make. Experience will determine how much
  728.     memory you need. Read the Using RAM Disk topic.
  729.  
  730.  
  731.   Printer (Dot Matrix or Laser)
  732.  
  733.     Hard copies of the screen can be made directly from LASI.EXE. Making
  734.     hardcopies is very handy to examine and keep track of your drawings.
  735.     Hardcopy support is provided for Epson FX (IBM) and LQ type printers
  736.     along with H-P LaserJet printers. Most printers seem to conform to
  737.     these standards. Read the HCPY Command Information topic. If your
  738.     printer doesn't work contact the author to see if anything can be done
  739.     about it, providing you have technical information available on your
  740.     printer and you know that it is capable of bitmap graphics.
  741.  Key Assignment
  742.  
  743.   Some key on the keyboard are permanently assigned:
  744.  
  745.     ENTER redraws the screen completely.
  746.     DIRECTION ARROWS move the drawing window in that direction.
  747.     ESC aborts drawing and changes pages.
  748.     TAB toggles the cursor between a small cross and crosshairs.
  749.     C toggles the path center line on an off. (retained)
  750.     N toggles the outline name on and off.
  751.     X or Y opens a PKE entry.
  752.     Z sets the measurement reference point.
  753.     SPACE gives a measurement from the reference point.
  754.     CTRL or ALT toggles the cursor locking between working and unit grid.
  755.     CTRL and ALT pressed together are used to change the effect of the
  756.     cursor window in commands acting on cells.
  757.  
  758.     Any other unassigned keys cancel commands.
  759.  
  760.     F1 always calls HELP.
  761.  
  762.  
  763.   The remaining function keys are USER DEFINABLE.
  764.  
  765.   F2-F10, SHIFT-F1 through SHIFT-F10, CTRL-F1 through CTRL-F10 and ALT-F1
  766.   through ALT-F10 may be defined by writing a command with any arguments
  767.   into the FORM.DBD file.
  768.  
  769.   To assign the keys you simply write the command after an "fkey="
  770.   parameter in the FORM.DBD file. Keys are assigned progressively and the
  771.   exact assignment can be checked by the FORM command.
  772.  
  773.   A command must be a command from the Cell Mode menus and must be followed
  774.   by any arguments separated by commas.
  775.  
  776.     examples:   "fkey=view,1-4 10 12"
  777.                 makes those layers visible.
  778.  
  779.                 "fkey=wmov,0,0,100,100,0,0,10,0"
  780.                 moves objects in the 0,0 to 100,100 rectangle
  781.                 10 physical units to the right.
  782.  
  783.   The command line may be upper or lower case and no longer than 80
  784.   characters. Any coordinates are in physical units. Any text generated in
  785.   this way will be created with case preserved.
  786.  
  787.   LASI should be smart enough to request additional arguments in the normal
  788.   way if you list too few in the key assignment, or throw away any extras
  789.   if you have too many. Coordinate pairs are always requested in pairs.
  790.  Measurements
  791.  
  792.   The position of the cursor in the work area is continuously read out at
  793.   the top of the screen. The coordinates are either in working grid units
  794.   or in the smallest possible grid unit, the unit grid. You may toggle
  795.   between these by pressing the TAB key.
  796.  
  797.   There is no ruler but distances can be measured graphically. The Z key
  798.   zeroes the measurement system to the current cursor grid point. The
  799.   current cursor grid may be the working grid or it may be the unit grid,
  800.   depending on the resident command and if the cursor grid has been toggled
  801.   by the TAB key.
  802.  
  803.   If the space bar is then pressed, a measurement from the zero point will
  804.   be displayed at the bottom of the screen. The second point will be
  805.   gridded to the present cursor grid.
  806.  Mouse Cursor
  807.  
  808.   LASI is designed to be very mouse intensive. Positioning the cursor and
  809.   clicking the mouse buttons choses the commands and inputs most all the
  810.   graphical information. The exceptions being when a literal or numerical
  811.   input is required, or when a specially assigned key is used.
  812.  
  813.   The mouse cursor is usually a small cross that may have other figures
  814.   added to it. When on a menu, a box will appear that indicates which
  815.   command will be chosen. When using drawing commands dotted lines or a
  816.   dotted rectangular window will appear.
  817.  
  818.   The cursor can be toggled between the small cross and crosshair lines by
  819.   pressing the TAB key. The cursor automatically turns back to the small
  820.   cross if not on the drawing area.
  821.  
  822.   When a cursor input is expected, the point needed will be shown at the
  823.   top of the screen after the command name. Most commands take one or two
  824.   points.
  825.  
  826.   The cursor moves in discrete steps. When a command is chosen, the cursor
  827.   is set to move either in the unit grid or in one of a number of preset
  828.   working grids. The working grids are entered using the SET command, and
  829.   are changed with the WGRD command. The cursor's grid type may change from
  830.   command to command or during a command, but it may always be toggled from
  831.   one type of grid to the other by pressing either the CTRL or the ALT key
  832.   on the keyboard.
  833.  
  834.   Hint:  If you are using a fairly new mouse driver, such as Microsoft's
  835.   versions 6.XX or 7.XX drivers, you can usually pass mouse sensitivity
  836.   arguments back to the mouse driver using LASI's DOS command. This allows
  837.   you to customize your cursor sensitivity while working in LASI.
  838.  Objects
  839.  
  840.   A drawing is built of things called OBJECTS. In a drawing objects are
  841.   placed in a hierarchy, the position of an object in this hierarchy is
  842.   called its RANK.
  843.  
  844.   The lowest rank (0) objects are the basic constructions, BOXES, PATHS,
  845.   POLYGONS and TEXT.
  846.  
  847.   The higher rank (1-15) objects are the CELLS, which are the basic
  848.   structures of a drawing. Any cell can contain one or more objects of
  849.   lesser rank.
  850.  
  851.   All the cells in a drawing are called the CELL COLLECTION.
  852.  
  853.  
  854.   Boxes
  855.  
  856.     Boxes are objects that have the properties of four sides, each
  857.     orthogonal to the adjacent, and a layer. Only the position of the sides
  858.     and the layer may be changed.
  859.  
  860.  
  861.   Paths
  862.  
  863.     Paths are a set of vertices in some order which display as a set of
  864.     endwise merged rectangles, all with the same width, but usually
  865.     different lengths.
  866.  
  867.     A path with a zero width is called a polygon (poly).
  868.  
  869.     A polygon is special case of a path, and the term "path" can be used to
  870.     refer to either, except in the case where a zero width path is
  871.     explicitly indicated.
  872.  
  873.     A polygon need not be closed. A line of zero width however usually does
  874.     not reproduce anything useful in an integrated circuit, so polygons
  875.     will usually be closed intentionally.
  876.  
  877.     Vertices may have their position changed, and the vertices of a path
  878.     may be added or deleted. The width or layer of the path may be changed.
  879.  
  880.     Paths with a positive width are drawn with their ends flush with their
  881.     end vertices, while paths with negative widths are drawn with their
  882.     ends spaced out half the width from the vertices. Paths with negative
  883.     width are discouraged and are provided only for CALMA compatibility.
  884.  
  885.     A path with width can have no more than 250 vertices. A polygon can
  886.     have no more than 500 vertices.
  887.  
  888.  
  889.   Text
  890.  
  891.     Text is a form of path that instead of displaying vertices, displays a
  892.     string of text characters linearly. Text is stored as a special path,
  893.     and many of the commands that affect paths work on text objects. Text
  894.     can have a layer and a size which corresponds to a path's width.
  895.  
  896.  
  897.   There are 32 layers available for boxes, paths and text, numbered 1-32.
  898.  
  899.  
  900.   Cells
  901.  
  902.     All drawing is done on cells. A cell has a NAME by which it is called
  903.     for drawing or for insertion into other cells. The name must be
  904.     acceptable as a DOS filename, since cell files will be made using that
  905.     name. A cell is named when it is created, but it may be renamed. A rank
  906.     is also assigned when a cell is created and cannot be changed, although
  907.     a cell can be copied to a different rank.
  908.  
  909.     Cell ranking is strictly enforced so that computer memory usage is
  910.     better controlled and ambiguous constructions (i.e. cells in
  911.     themselves) are avoided.
  912.  
  913.     In general, the overall layout drawing will be the highest ranking
  914.     cell. There however may be many cells of that rank, for perhaps
  915.     different versions of the same integrated circuit.
  916.  
  917.     Cells have a PROPERTY known as their OUTLINE. An outline is a rectangle
  918.     that fully encloses all the objects within a cell. Cells may be drawn
  919.     in full or may be drawn as only their outline. When a cell is drawn as
  920.     its outline it may be manipulated as though it was drawn fully. Cells
  921.     in a drawing that are not currently in use may be outlined to improve
  922.     clarity and to speed up redrawing.
  923.  Operating Modes
  924.  
  925.   There are two operating modes, System Mode and Cell Mode:
  926.  
  927.   System Mode is a housekeeping mode which has commands for overall
  928.   manipulation of cells and the control of certain drawing parameters.
  929.  
  930.   Cell Mode is the mode where actual drawing is done. When Cell Mode is
  931.   entered a cell drawing is opened for creation or modification.
  932.  
  933.     Cell Mode has up to 15 ranks.
  934.  
  935.     The rank of Cell Mode is obtained from the cell being drawn.
  936.  
  937.     Each Cell Mode rank keeps separate parameters, such as window size and
  938.     position, in order to simplify moving between different ranks of cells
  939.     while working on a drawing.
  940.  
  941.     The maximum number of ranks is set in the FORM.DBD file.
  942.  
  943.     All Cell Modes are identical except for the ranking.
  944.  
  945.     Both modes have a menu of commands on the side of the screen. The
  946.     commands are explained under their own help topics.
  947.  
  948.     When LASI is started it goes to System Mode.
  949.  
  950.     Using the SYS command that appears in the Cell Mode menu is the normal
  951.     way to reenter System Mode from Cell Mode.
  952.  
  953.     Using the CELL and LIST commands which appear in both mode menus is
  954.     normal way to enter Cell Mode and open another cell.
  955.  
  956.  
  957.   Cell Mode also may be entered directly by adding the name of a cell to
  958.   the command line when starting LASI.
  959.  
  960.  
  961.     Example: "lasi flipflop" when typed in DOS runs LASI and
  962.               enters into the cell named "FLIPFLOP".
  963.  
  964.  
  965.   Read the CELL, LIST and SYS commands.
  966.  PKE Feature
  967.  
  968.   Parallel Keyboard Entry can be done anytime a command is requesting a
  969.   coordinate point normally inputted by the mouse. To activate PKE press
  970.   either the X or Y keys. The coordinates that will be inputted will appear
  971.   in the lower left corner of the screen. The X or Y key clears that
  972.   particular coordinate to zero. The new value may then be typed into that
  973.   coordinate. Corrections may be made using the BACKSPACE key, or the value
  974.   may be cleared to zero by repressing the X or Y keys.
  975.  
  976.   To enter the coordinate press ENTER. This also clears the pending PKE
  977.   entry. If there is a pending PKE entry the coordinates will always appear
  978.   in the corner of the screen.
  979.  
  980.   To remove a pending PKE entry, click on any menu button using the mouse,
  981.   except any of the nestable window commands. Pressing a non-numerical key
  982.   will also clear any pending entry.
  983.  
  984.   Some commands that require a incremental input (MOV for example) accept
  985.   only one PKE entry instead of two mouse cursor inputs.
  986.  Starting a Drawing
  987.  
  988.   To start a drawing:
  989.  
  990.   1. Create a "drawing directory" as an independent directory.
  991.  
  992.     The drawing directory should be named for the drawing to be made. Each
  993.     different drawing is kept on the hard disk by isolating it in its own
  994.     directory. DO NOT make drawings in the \LASI4 directory.
  995.  
  996.   2. Copy the FORM.DBD file to the drawing directory.
  997.  
  998.     The FORM.DBD file custom configures LASI to the specific hardware and
  999.     allocates memory. The FORM.DBD is local to a drawing directory so they
  1000.     can be different for each drawing.
  1001.  
  1002.   3. Edit the FORM.DBD file if necessary.
  1003.  
  1004.     The FORM.DBD file is important since it configures your drawing to your
  1005.     hardware. You can usually use the default values in the original
  1006.     distribution FORM.DBD at first, but you eventually will need to change
  1007.     FORM.DBD using a editor such as EDLIN.COM or EDIT from MS-DOS 5. Read
  1008.     the Form File help topic.
  1009.  
  1010.  
  1011.   Make the drawing directory your current directory, and run the program
  1012.   LASI.EXE. The program will start in System Mode. When you first start a
  1013.   drawing you should check the scale using the SCALE command to see if the
  1014.   parameters are correct.
  1015.  
  1016.   Hint:  If you have a similar drawing in another directory and you have
  1017.   already defined the hardware and drawing parameters, you can copy the
  1018.   CONSTS4.DBD and the FORM.DBD files into the new directory. This will save
  1019.   you the trouble of redefining things over again.
  1020.  Undoing
  1021.  
  1022.   There is no UNDO command. The reason for this is that commands operate
  1023.   globally on drawing objects. This makes it simply too cumbersome to
  1024.   always keep a backup of certain operations, such as deleting a large
  1025.   number of objects.
  1026.  
  1027.   Instead, whenever you enter into Cell Mode or use the SORT command, a
  1028.   backup copy of the drawing is stored on the hard disk. To retrieve the
  1029.   stored backup, you use the ABRT command. This also encourages you to sort
  1030.   frequently, which is a good practice.
  1031.  
  1032.   Read the SORT and ABRT Command Information topics.
  1033.  Universe
  1034.  
  1035.   The drawing area is 65536 units in each direction since positions are
  1036.   determined by a 16 bit integer. This drawing space might be called the
  1037.   drawing's universe.
  1038.  
  1039.   If objects are moved they may exceed the signed integer limits of -32768
  1040.   to 32767 basic units. Objects that move beyond the limits go through
  1041.   "integer infinity" and reappear from the opposite direction.
  1042.  
  1043.   If this happens, you will find that objects, particularly paths, can be
  1044.   very distorted. To correct this, move the objects back so that all points
  1045.   are in the same universe.
  1046.  
  1047.   Distortions can always be corrected by a linear move if done immediately.
  1048.   More than one "infinity" in sequence may not be correctable.
  1049.  
  1050.   Commands affected: CPY, FLP, MOV, ORIG, WMOV, QMOV, CMOV, ROT, STEP
  1051.  Using MS-DOS 5
  1052.  
  1053.   Using DOSSHELL found in MS-DOS 5 is an easy way to setup drawings when
  1054.   using LASI. You can make each drawing a Program Item either by itself or
  1055.   as a part of a Program Group. Set the "Commands" property to " lasi" and
  1056.   the "Startup Directory" to the drawing directory.
  1057.  
  1058.   The ability to MS-DOS 5 to load drivers into the upper memory area (640K
  1059.   to 1MB) on a 80386 or 80486 computer should be used to save conventional
  1060.   memory. This will give you more memory for a larger number of LASI
  1061.   objects. If you have some extended memory, even on a 80286 computer, you
  1062.   can still gain more memory by installing HIMEM.SYS and putting "DOS=HIGH"
  1063.   in the CONFIG.SYS file.
  1064.  
  1065.   Using DOS's FASTOPEN.EXE can help the drawing speed by reducing the time
  1066.   that LASI takes to swap data in and out, either to RAM disk or hard disk.
  1067.  
  1068.   If you are using another DOS such as DR-DOS, similar advice applies.
  1069.  Using RAM Disk
  1070.  
  1071.   Drawing speed can be greatly improved if a RAM disk is used. Cell files
  1072.   that normally would be kept on a hard disk can be placed on a RAM disk by
  1073.   using the MS-DOS VDISK.SYS or RAMDRIVE.SYS drivers, or similar software.
  1074.   LASI will automatically swap cell files to a RAM disk when it draws, and
  1075.   then restore them to the hard disk when it is finished.
  1076.  
  1077.   To use a RAM disk you must first create the RAM disk during DOS bootup
  1078.   time by adding the driver to your CONFIG.SYS file. The RAM disk should be
  1079.   located in extended memory.
  1080.  
  1081.   To have LASI recognize a RAM disk, the "rdisk=" parameter of the FORM.DBD
  1082.   file must be the letter name of the RAM disk. For example, if the RAM
  1083.   disk installs as disk E:, then "rdisk=E:" would be the parameter.
  1084.  
  1085.   If you have no RAM disk installed, set the "rdisk=" parameter to the
  1086.   letter name of your drawing directory disk, or simply leave the "rdisk="
  1087.   parameter blank, since the drawing directory is on the default disk
  1088.   drive.
  1089.  
  1090.   The RAM disk must be large enough to hold all the cell files in a
  1091.   drawing. Computers with a megabyte or more of additional memory above
  1092.   640K are needed for most real work. When creating the RAM disk the
  1093.   driver's parameters must be set to hold both the amount of memory and the
  1094.   number of files expected.
  1095.  
  1096.   When LASI is run, it presently does not erase the RAM disk files. Old
  1097.   files may therefore clutter your RAM disk. Since it is not too hard to
  1098.   erase the wrong disk, possibly your hard disk, it is recommended that you
  1099.   make a batch file (.BAT) to erase the RAM disk when beginning a new
  1100.   drawing, load a mouse driver, if needed, and then run LASI. Of course,
  1101.   whenever you turn off the computer power, the RAM disk is erased anyway.
  1102.  
  1103.   If you do run out of RAM disk space a warning will appear on the screen.
  1104.   LASI will try to preserve your drawing by switching to the hard disk if
  1105.   it finds that the RAM disk is full. Drawing will slow down noticeably in
  1106.   that case. In particular, if the basic objects (boxes, paths and text)
  1107.   are no longer swappable to the RAM disk, you will see the hard disk being
  1108.   accessed if you are drawing a cell that contains other cells. If this
  1109.   happens, you should exit LASI, increase your RAM disk space, if possible,
  1110.   and rerun LASI.
  1111.  
  1112.   Using a disk caching driver can also speed up the redrawing of cells just
  1113.   as using a RAM disk. The disadvantages are that you will occasionally go
  1114.   to the hard disk if you lose a file from the RAM cache, and you will use
  1115.   more RAM in the DOS program area below 640K unless you cache uses higher
  1116.   memory for its manager. The advantage is that you will not have to worry
  1117.   about running out of RAM disk space.
  1118.  
  1119.   Any disk cache driver, such as SMARTDRV.SYS from Microsoft, should work.
  1120.   Installing the disk cache in extended memory just as with a RAM disk is
  1121.   preferred, and the cache size should be as large as is needed to get a
  1122.   good hit ratio.
  1123.  
  1124.   To use a cache set the "rdisk=" parameter in FORM.DBD to the same drive
  1125.   letter name as your drawing directory or leave it blank.
  1126.  
  1127.   Many of the newer hard disks have caches in their hardware already.
  1128.   In that case, using a cache driver will probably not have a significant
  1129.   effect and should actually be avoided.
  1130.  
  1131.  
  1132.   Important:  If you do not use a RAM disk, run a disk organizing program
  1133.   such as Disk Optimizer or Speed Disk from Norton's Utilities on your hard
  1134.   disk often. If cell files become highly fragmented, the drawing time for
  1135.   LASI can become incredibly long.
  1136.  Using MS-Windows
  1137.  
  1138.   LASI will run under Microsoft's Windows 3.0 or 3.1 as a Non-Windows
  1139.   Application. Each drawing can be setup as an application by creating a
  1140.   PIF file for it. When creating the PIF file with the PIF editor you
  1141.   should enter the "Program Filename" as disk:\LASI4\LASI.EXE, where "disk"
  1142.   is the disk where LASI is installed. (same as the "hdisk=" parameter) You
  1143.   should enter the drawing directory as the PIF's "Start-up Directory". An
  1144.   appropriate "Window Title" should also be added to the PIF. Otherwise,
  1145.   the defaults in the PIF editor can be generally be kept, but some
  1146.   experimenting might be necessary, particularly for "Memory Requirements".
  1147.  
  1148.   Since LASI is a DOS program and is rather computationally intensive, it
  1149.   will run best in Real or Standard Mode, where it will run as a single
  1150.   activity. It probably will not run well in 386 Enhanced Mode, where it
  1151.   will have to share time with other programs. It must always be run as a
  1152.   Full Screen program. It will also be memory limited to DOS's 640K. You
  1153.   may have to downsize your allocations in the Form File, or you may run
  1154.   out of memory when running programs like TLC.EXE from LASI.
  1155.  
  1156.   It helps to install HIMEM.SYS and use only part of any extended RAM for
  1157.   your RAM disk (use RAMDISK.SYS), leaving room for Windows to use part of
  1158.   extended memory for its own use.
  1159.  
  1160.   Installing the disk cache SMARTDRV.SYS can also improve disk speed so
  1161.   that a RAM disk may be unnecessary.  Read the Using RAM Disk topic.
  1162.  
  1163.  
  1164.   LASI is a DOS level program with its own graphical interface. Although
  1165.   its displays may not be as elaborate as Windows displays, LASI functions
  1166.   quite a bit faster overall, particularly on slower computers. To those
  1167.   who are happily running LASI under DOS, running it under Windows seems to
  1168.   have little advantage. You might like to experiment however to see if
  1169.   there are any benefits in your own individual case.
  1170. Command Information
  1171.  
  1172.  Abrt
  1173.  
  1174.   ABRT aborts the current Cell Mode cell.
  1175.  
  1176.     This command will restore either the original cell that existed when
  1177.     the mode was entered or the cell as it was when the last SORT command
  1178.     was done.
  1179.  
  1180.     Answering anything other than "o" or "s" to the "Aborting ..." question
  1181.     aborts the ABRT command.
  1182.  
  1183.  
  1184.   Using the ABRT command along with the SORT command provides and "undo"
  1185.   feature.  Read the SORT topic.
  1186.  Add
  1187.  
  1188.   ADD adds an object to the drawing.
  1189.  
  1190.     The object to be added is set initially by OBJ and is indicated at the
  1191.     bottom of the screen.
  1192.  
  1193.     A box requires two points at diagonally opposite corners.
  1194.  
  1195.     A path takes a vertex from each cursor input. A path adds a new vertex
  1196.     after the first active vertex found in the order in which the path is
  1197.     drawn.
  1198.  
  1199.     A cell is added with its origin at a single cursor input point.
  1200.  
  1201.  
  1202.   The cursor will indicate the adding action that will take place. On
  1203.   boxes, the box outline will be shown in dots. On paths, segments will be
  1204.   previewed as dotted lines. Cells are added as a single point.
  1205.  aGet
  1206.  
  1207.   AGET (all get) is a combination of FGET and CGET.
  1208.  
  1209.     This command acts on cells, boxes, paths and text in the same way as
  1210.     those commands.
  1211.  
  1212.     It is useful if you want to activate a number of objects of different
  1213.     types to do some operation on all of them simultaneously.
  1214.  
  1215.  
  1216.   AGET is useful if you are MOVing, CPYing or FLPing large sections of a
  1217.   drawing because you can see just which object are active before the
  1218.   operation, and unlike WGET it will not distort paths.
  1219.  aPut
  1220.  
  1221.   APUT (all put) makes all boxes, paths and cells inactive.
  1222.  
  1223.     This command is for making sure that all objects are inactive.
  1224.  
  1225.     The active object count is cleared directly by this command.
  1226.  
  1227.  
  1228.   APUT is a handy command to make objects inactive with a single mouse
  1229.   button click.
  1230.  Arc
  1231.  
  1232.   ARC calls the arc generator.
  1233.  
  1234.     An arc is generated starting at the first active vertex found on a path
  1235.     and is swung around an arc center point to an end point.
  1236.  
  1237.     The center and end points are single cursor input points.
  1238.  
  1239.     The number of segments and the direction of generation (cw or ccw) must
  1240.     be entered as requested.
  1241.  
  1242.     To start an arc from nothing you must first add a single active vertex
  1243.     and then call the generator. The arc takes its width and layer from the
  1244.     original path object or "arc seed".
  1245.  
  1246.     Arc internal points are made to the nearest unit grid.
  1247.  
  1248.     Arc end points are snapped to the nearest working grid.
  1249.  
  1250.  
  1251.   Hint:  You can speed up generation by pressing ESC or clicking the right
  1252.   mouse button, bypassing drawing.
  1253.  Arrows
  1254.  
  1255.   Up, down, left and right arrows pan the drawing window.
  1256.  
  1257.     The window is moved by a certain fraction of its width in the indicated
  1258.     direction.
  1259.  
  1260.     The display is redrawn.
  1261.  
  1262.  
  1263.   The arrow keys on the keyboard perform this same function to be
  1264.   consistent with other drawing systems.
  1265.  
  1266.   Read DRAW.
  1267.  Cap
  1268.  
  1269.   CAP calls the capacitance calculator.
  1270.  
  1271.   This command functions as follows:
  1272.  
  1273.     You will be asked for the capacitance per physical unit area.
  1274.  
  1275.     After you enter the capacitance per unit area, all paths with ANY
  1276.     active vertex will be measured and the total capacitance will be
  1277.     displayed. To compensate for corners, half the width is subtracted from
  1278.     each segment length.
  1279.  
  1280.     After all paths are measured, all boxes with ANY active sides will be
  1281.     measured, and the total capacitance of the paths and boxes will be
  1282.     displayed.
  1283.  
  1284.     The command will then go into manual mode. Any polygons or areas in
  1285.     cells that should be included can then be manually measured.
  1286.  
  1287.     When in manual mode, at the command prompt "[/]", you must fill the
  1288.     area to be measured with rectangular cursor areas by clicking the left
  1289.     mouse button at diagonally opposite corners of the areas.
  1290.  
  1291.     An area's capacitance and the sum of previous capacitances will always
  1292.     be displayed at the bottom of the screen.
  1293.  
  1294.     To end measuring, click the mouse on any menu button except the window
  1295.     commands, or press any key except those listed under Key Assignments.
  1296.  
  1297.  
  1298.   Note that to automatically measure an area, it must be either a path or a
  1299.   box in the present cell. Areas that are visible but are part of a cell
  1300.   within the present cell must be still manually measured.
  1301.  
  1302.   This command may be used as an area parameter calculator. For example,
  1303.   you can calculate the area of an integrated circuit by setting the
  1304.   capacitance per area to 1.
  1305.  cCel
  1306.  
  1307.   CCEL changes any active cells into the specified cell.
  1308.  
  1309.     This command will not work in a rank 1 cell.
  1310.  
  1311.     Attempting to change to an unknown cell or a cell too high in rank will
  1312.     abort the command.
  1313.  
  1314.  
  1315.   Cancel CCEL by pressing ENTER only.
  1316.  Cell
  1317.  
  1318.   CELL exits Cell or System Mode and reenters Cell Mode.
  1319.  
  1320.     A cellname must be provided.
  1321.  
  1322.     If you execute CELL in Cell Mode, the first active cell that is found
  1323.     in the drawing becomes the default cellname. If there is a default
  1324.     cellname, you will be transferred to that cell directly.
  1325.  
  1326.     If no cellname is found, you will be asked for one.
  1327.  
  1328.     If a cell is a new one, the rank will also be requested.
  1329.  
  1330.     To create a new cell you must use this command.
  1331.  
  1332.  
  1333.   If a mistake is made, or you want to go to System Mode press ENTER only
  1334.   to the cellname or rank question.
  1335.  cGet
  1336.  
  1337.   CGET (cell get) makes cells active.
  1338.  
  1339.     If the rectangular cursor window completely encloses the cell's outline
  1340.     the cell will become active.
  1341.  
  1342.     If the CTRL and ALT keys are pressed while making the cursor window, a
  1343.     cell will become active if the cells's outline overlaps the cursor
  1344.     window.
  1345.  
  1346.     An active cell turns bright white on all layers.
  1347.  
  1348.     An active cell in outline turns bright white and is filled with dots.
  1349.  
  1350.     There is no dependence on VIEW or OPEN.
  1351.  
  1352.  
  1353.   CGET only works on the top level of cells and has no effect on boxes or
  1354.   paths.
  1355.  Clrs
  1356.  
  1357.   CLRS enters into the Layer Attribute Display and allows the color of a
  1358.   layer to be set.
  1359.  
  1360.     The number of the layer is shown in the layer color.
  1361.  
  1362.  
  1363.   To exit, press ENTER only to the "Color Layer" question.
  1364.  Clyr
  1365.  
  1366.   CLYR changes the layer of boxes, paths or text.
  1367.  
  1368.     If the value entered is not 1 through 32, the layer will be reasked.
  1369.  
  1370.     The default layer is the layer currently set by the LAYR command.
  1371.  
  1372.     Boxes must have ALL sides active to change layer.
  1373.  
  1374.     Paths must have ANY vertex active to change layer.
  1375.  
  1376.     Text will change layer if active.
  1377.  
  1378.  
  1379.   Read LAYR.
  1380.  cMov
  1381.  
  1382.   CMOV (cell move) moves cells directly.
  1383.  
  1384.     A cell will be moved if the rectangular cursor window completely
  1385.     encloses the cells outline.
  1386.  
  1387.     If the CTRL and ALT keys are pressed while making the cursor window,
  1388.     the cell will be moved if the cell's outline overlaps the cursor
  1389.     window.
  1390.  
  1391.     The first two cursor points form the cursor window.
  1392.  
  1393.     The next two cursor points determine the distance to be moved.
  1394.  
  1395.     The move part of the command accepts a single PKE entry.
  1396.  
  1397.  
  1398.   CMOV only works on the top level of cells and has no effect on boxes and
  1399.   paths.
  1400.  Cntr
  1401.  
  1402.   CNTR centers the drawing window.
  1403.  
  1404.     The new center is a single input point from mouse or PKE.
  1405.  
  1406.     The display is redrawn.
  1407.  
  1408.  
  1409.   Read DRAW.
  1410.  Copy
  1411.  
  1412.   COPY allows cells to be copied or appended to other cells.
  1413.  
  1414.     The source cell must be in the drawing cell collection.
  1415.  
  1416.     If a destination cell doesn't exist, it will be created.
  1417.  
  1418.     If the destination cell exists the source cell will be appended.
  1419.  
  1420.  
  1421.   Inter-rank copying is permitted. If the source cell contains cells that
  1422.   have rank equal to or greater than the destination cell, those cells will
  1423.   not be copied. Boxes, paths and text are always copied.
  1424.  
  1425.   Appended objects appear as active objects in the destination cell. This
  1426.   allows you to move the appended parts if they overlay any previous
  1427.   objects. When you first enter Cell Mode when doing this procedure, the
  1428.   status at the bottom will not indicate any active objects. Ignore it.
  1429.  
  1430.   If the source or destination cells are incorrect, or if copying will
  1431.   overflow the allocation in FORM of any objects, the copy operation will
  1432.   be cancelled and a message will be shown.
  1433.  cPut
  1434.  
  1435.   CPUT (cell put) makes cells inactive.
  1436.  
  1437.     This the inverse of CGET, and works the same way.
  1438.  
  1439.  
  1440.   Read APUT.
  1441.  Cpy
  1442.  
  1443.   CPY copies active objects.
  1444.  
  1445.     The displacement is determined by a 2-point cursor input.
  1446.  
  1447.     The original objects are made inactive and the copies are made active.
  1448.  
  1449.     Boxes are copied if ALL sides are active.
  1450.  
  1451.     Cells are copied if they are active.
  1452.  
  1453.     Vertices of paths are copied only if they are active. To copy a path
  1454.     completely it must be fully active. This feature allows you to copy
  1455.     sections of paths.
  1456.  
  1457.     Text is copied if it is active.
  1458.  
  1459.     CPY accepts a single PKE entry.
  1460.  
  1461.  
  1462.   Read STEP.
  1463.  Cut
  1464.  
  1465.   CUT breaks a path into two separate paths at an active vertex.
  1466.  
  1467.     This command works if there is ONLY ONE active vertex.
  1468.  
  1469.     The last vertex at the cut point of the newly created path is made
  1470.     active.
  1471.  
  1472.  
  1473.   Use this command to break paths into segments to create new
  1474.   constructions, and to make shorter paths and poly that will be more
  1475.   manageable for translation into other drawing systems.
  1476.  cWth
  1477.  
  1478.   CWTH changes the width of paths and the size of text.
  1479.  
  1480.     The default width is the width currently set by the WDTH command.
  1481.  
  1482.     Paths with ANY vertex active will change width.
  1483.  
  1484.     Text that is active will change its size to the new width.
  1485.  
  1486.  
  1487.   Read WDTH.
  1488.  Dash
  1489.  
  1490.   DASH enters into the Layer Attribute Display and allows the type of dash
  1491.   to be set for a layer.
  1492.  
  1493.     The pattern of the dash number is shown by the sample lines.
  1494.  
  1495.     The dash number of the layer is shown above the corresponding colored
  1496.     layer number.
  1497.  
  1498.  
  1499.   To exit, press ENTER only to the "Dash Layer" question.
  1500.  Del
  1501.  
  1502.   DEL deletes objects or parts of objects.
  1503.  
  1504.     An object's layer must be VIEWed and OPENed to be deleted.
  1505.  
  1506.     Boxes are deleted if ALL sides are active.
  1507.  
  1508.     Active vertices of paths are deleted. If only one vertex remains then
  1509.     an entire path is deleted.
  1510.  
  1511.     Text is deleted if it is active.
  1512.  
  1513.     Cells that are active are deleted without regard to the layers that
  1514.     they contain and the status of the VIEW and OPEN commands.
  1515.  
  1516.  
  1517.   When deleting a large number of vertices expect a short delay because the
  1518.   computer has to do a lot of sorting.
  1519.  dGrd
  1520.  
  1521.   DGRD sets the dot grid.
  1522.  
  1523.     The dot grid is in physical units.
  1524.  
  1525.     The dot grid may be any acceptable size and can be toggled on and off
  1526.     with the GRID command.
  1527.  
  1528.     If the grid is smaller than the resolution set by the SET command it
  1529.     will not be drawn.
  1530.  
  1531.     The present dot grid will be shown at the bottom of the screen.
  1532.  
  1533.  
  1534.   Read SET.
  1535.  DOS
  1536.  
  1537.   DOS temporally runs other programs from the DOS command line.
  1538.  
  1539.     At least 64K of memory must be available for this command to work.
  1540.  
  1541.     The DOS command from System Mode makes more memory available than the
  1542.     DOS command from Cell Mode because it deallocates drawing space. If you
  1543.     use too much memory you may get an "Not Available" message.
  1544.  
  1545.     Certain DOS command line operations may be done, like DIR for example.
  1546.  
  1547.     Certain small programs may be run if they can load into available
  1548.     memory.
  1549.  
  1550.  
  1551.   DO NOT run LASI utility programs from this command.
  1552.  Draw
  1553.  
  1554.   DRAW redraws the drawing area on the screen.
  1555.  
  1556.     Drawing of boxes, paths and text takes place in ascending layer order.
  1557.  
  1558.     Lesser cells are drawn starting at the lowest rank and are overlayed
  1559.     upward.
  1560.  
  1561.     The boxes, paths and text of the current cell always overlay all layers
  1562.     of any lesser cells.
  1563.  
  1564.     If during redraw a cell to be drawn exceeds the space allocation set
  1565.     with the Form File, a message will be printed and redrawing will stop.
  1566.  
  1567.     Paths with widths near the unit grid limit may appear distorted. This
  1568.     is because all drawing points are set in the unit grid.
  1569.  
  1570.     If you try to draw a path or poly with a vertex count exceeding the
  1571.     limits of 250 and 500 respectively, the object may not draw or fill
  1572.     correctly, but drawing will fail gracefully.
  1573.  
  1574.  
  1575.   Read the Drawing Speed General Information topic for useful information.
  1576.  fGet
  1577.  
  1578.   FGET (full get) makes a box or path fully active.
  1579.  
  1580.     A box is made fully active if ANY side is made active as would be done
  1581.     using GET.
  1582.  
  1583.     A path is made fully active if ANY vertex is made active as would be
  1584.     done using GET.
  1585.  
  1586.     FGET is the same as GET for text.
  1587.  
  1588.     This command allows the entire box or path to be operated upon by any
  1589.     subsequent command if only a part is accessible.
  1590.  
  1591.  
  1592.   If you want to delete a box or path completely use this command first.
  1593.  Fill
  1594.  
  1595.   FILL enters into the Layer Attribute Display and allows the type of fill
  1596.   to be set for a layer.
  1597.  
  1598.     The pattern of the fill number is shown by the sample boxes.
  1599.  
  1600.     The fill number of the layer is shown above the corresponding colored
  1601.     layer number.
  1602.  
  1603.     Boxes, paths and closed polygons will be filled with the chosen fill
  1604.     pattern.
  1605.  
  1606.     The fill of all layers may be temporally turned off by answering "off"
  1607.     to the "Fill Layer" question. Calling FILL again will turn fill back
  1608.     on.
  1609.  
  1610.  
  1611.   To exit, press ENTER only to the "Fill Layer" question.
  1612.  Fit
  1613.  
  1614.   FIT sets the size of the drawing window so that it will show all of the
  1615.   objects in a cell.
  1616.  
  1617.     There is no dependence in VIEW or OPEN.
  1618.  
  1619.     The display is redrawn.
  1620.  
  1621.     If there are no objects present, fit will expand the window to the
  1622.     maximum size permitted or the whole "universe".
  1623.  
  1624.  
  1625.   Read DRAW and the Universe General Topic.
  1626.  Flp
  1627.  
  1628.   FLP flips objects.
  1629.  
  1630.     Flipping in either X or Y determined by a 2-point cursor input.
  1631.  
  1632.     The larger dimension of the cursor input determines the flip axis.
  1633.  
  1634.     The cursor will show the approximate flip axis.
  1635.  
  1636.     Boxes flip if ALL sides are active.
  1637.  
  1638.     ALL vertices of a path flip if ANY vertex is active.
  1639.         
  1640.     Text will flip if active.
  1641.  
  1642.  
  1643.   Note:  FLP and ROT do no commute. That is, the order in which these
  1644.   commands are used is important. Objects FLPed and ROTed in different
  1645.   orders are not the same.
  1646.  
  1647.   Read ROT.
  1648.  fPut
  1649.  
  1650.   FPUT (full put) makes boxes and paths fully inactive.
  1651.  
  1652.     This is the inverse of FGET.
  1653.  
  1654.     A box is made fully inactive if ANY side is made inactive.
  1655.  
  1656.     A path is made fully inactive if ANY single vertex is made inactive.
  1657.  
  1658.     FPUT is the same as PUT for text.
  1659.  
  1660.  
  1661.   Use this command to make fully inactive a box or path when only a part of
  1662.   the box or path is displayed.
  1663.  Full
  1664.  
  1665.   FULL removes cells from being drawn as an outline.
  1666.  
  1667.     Cells are changed from being shown as an outline if a cell's outline is
  1668.     completely enclosed by the rectangular cursor window.
  1669.  
  1670.     If the CRTL and ALT keys are pressed while making the cursor window,
  1671.     cells will be changed if the cell's outline overlaps the cursor window.
  1672.  
  1673.  
  1674.   Read OUTL.
  1675.  Get
  1676.  
  1677.   GET makes single parts of boxes and paths active.
  1678.  
  1679.     The layer must be VIEWed and OPENed.
  1680.  
  1681.     Box sides are made active if they pass anywhere within the rectangular
  1682.     cursor window.
  1683.  
  1684.     Path vertices are made active if they are within the cursor window.
  1685.  
  1686.     Text is made active if its reference point is in the cursor window.
  1687.  
  1688.  
  1689.   When made active:
  1690.  
  1691.     Box sides turn bright white.
  1692.  
  1693.     Vertices are marked and segments of paths that will move as a unit turn
  1694.     bright white.
  1695.  
  1696.     Text turns bright white.
  1697.  
  1698.  
  1699.   GET is the default command when LASI is started.
  1700.  Grid
  1701.  
  1702.   GRID toggles the dot grid on and off.
  1703.  
  1704.     The menu button intensifies to indicate that the grid is on.
  1705.  
  1706.  
  1707.   Read SET and DGRD.
  1708.  Hcpy
  1709.  
  1710.   HCPY expands the screen and calls a hardcopy program that makes a bitmap
  1711.   copy of the screen on a printing device or to a file.
  1712.  
  1713.  
  1714.   When HCPY is called the screen will redraw to full size. The system will
  1715.   wait for a key to be pressed:
  1716.  
  1717.   ∙ Press ENTER if you want to add the name, date and time to the screen
  1718.     and start a hardcopy.
  1719.  
  1720.   ∙ Press CTRL-ENTER if you want to make a hardcopy of the screen without
  1721.     the name, date and time.
  1722.  
  1723.   ∙ Press ESC anytime if you want to abort hardcopying.
  1724.  
  1725.  
  1726.   Note:  At least 64K of remaining memory is necessary to run a hardcopy
  1727.   program. If there isn't, the hardcopy will not execute and you will
  1728.   return to LASI Cell Mode.
  1729.  Iden
  1730.  
  1731.   IDEN identifies an active object.
  1732.  
  1733.     Objects are taken in the order: box/path/cell.
  1734.  
  1735.     Only the first active object found is reported.
  1736.  
  1737.     For a box the layer is shown.
  1738.  
  1739.     For a path the layer and the width are shown.
  1740.  
  1741.     For text the layer and size are shown.
  1742.  
  1743.     For a cell the name, position and orientation are shown.
  1744.  
  1745.     No active object gives a parts count of the current cell.
  1746.  
  1747.  
  1748.   Read SHOW.
  1749.  Join
  1750.  
  1751.   JOIN connects two paths head to tail to form a new single path.
  1752.  
  1753.     This command works only if there are exactly two active vertices which
  1754.     are the end and beginning of a path.
  1755.  
  1756.     If the active vertices are beginning and end of the same path, a
  1757.     segment will be added to close the path.
  1758.  
  1759.     If the active vertices are beginning and end of different paths and the
  1760.     vertices are at the same location, the paths will be merged into a
  1761.     single path.
  1762.  
  1763.     If the active vertices are beginning and end of different paths and the
  1764.     vertices are at different locations, a segment will be added and the
  1765.     paths will be merged into a single path.
  1766.  
  1767.     All vertices will be made inactive.
  1768.  
  1769.  
  1770.   Use this command to condense paths to reduce data, and to make closed
  1771.   poly constructions out of poly segments.
  1772.  Kill
  1773.  
  1774.   KILL removes a cell from the drawing
  1775.  
  1776.     Cells are removed from the drawing's cell collection.
  1777.  
  1778.     KILLed cells are removed from any other cells.
  1779.  
  1780.     The cell internal files at the DOS system level are erased.
  1781.  
  1782.  
  1783.   Important:  It is recommended that you keep an archive of your cells
  1784.   using the TLC.EXE utility program. This is the only way that you can
  1785.   recover a cell that has been accidentally KILLed.
  1786.  Layr
  1787.  
  1788.   LAYR sets the layer of boxes, paths or text to be ADDed.
  1789.  
  1790.     If the value entered is not 1 through 32, the layer will be reasked.
  1791.  
  1792.  
  1793.   Read CLYR.
  1794.  List
  1795.  
  1796.   LIST lists the cells in the cell collection.
  1797.  
  1798.     This command appears in both System and Cell Modes.
  1799.  
  1800.     The mouse will also be active and the cursor can be positioned on the
  1801.     name of any of the cells listed. If the left mouse button is clicked on
  1802.     the cellname, Cell Mode will be entered for that cell.
  1803.  
  1804.     If the left mouse button is clicked in a location that will not select
  1805.     a cell, it will be ignored.
  1806.  
  1807.     Pressing ESC or clicking the right mouse button will step to the next
  1808.     page or will exit to the present mode.
  1809.  
  1810.  
  1811.   The list of cells has a history feature. The number that appears in front
  1812.   of a cellname indicates the inverse order in which the cells were last
  1813.   opened. That is, number 1 is the last cell you worked on, number 2 the
  1814.   second to last, and so on. This allows you to go through a sequence of
  1815.   deeply nested cells, and then randomly return to a higher ranked cell.
  1816.  
  1817.     If a cell is opened again, previous events for that cell are purged
  1818.     from the history.
  1819.  
  1820.     An asterisk indicates the current cell.
  1821.  
  1822.  
  1823.   Hint:  LIST is the fastest way to change from cell to cell because you
  1824.   don't have to type or even precisely remember a cellname.
  1825.  Make
  1826.  
  1827.   MAKE makes a cell from the active cells, boxes, paths and text.
  1828.  
  1829.     Boxes and paths are copied if ANY part is active.
  1830.  
  1831.     The rank will be one higher than the highest rank of any cells.
  1832.  
  1833.     The name must not already be in the cell collection. If it is, the
  1834.     prompt will be reasked. No name at all will cancel MAKE.
  1835.  
  1836.  
  1837.   When MAKE makes a new cell it first determines the outline of the current
  1838.   cell on which you are working. It then uses this outline as the outline
  1839.   of the new cell. It also uses the current origin as the origin of the new
  1840.   cell. Normally, you will enter into Cell Mode with the new cell and
  1841.   reposition the origin with the ORIG command. When Cell Mode is then
  1842.   exited the correct outline will be recalculated.
  1843.  
  1844.   Hint:  When MAKE is used to create a new cell, its name is at the end of
  1845.   the cell list. Use LIST to go to the new cell to make any changes.
  1846.  Mov
  1847.  
  1848.   MOV moves the active sides of boxes, active vertices, and active cells.
  1849.  
  1850.     The distance is determined from a 2-point cursor input.
  1851.  
  1852.     The cursor will show the approximate move.
  1853.  
  1854.     MOVs are always done in multiples of the working grid, unless you press
  1855.     the CTRL or ALT keys to switch to the unit grid.
  1856.  
  1857.     MOV accepts a single PKE entry.
  1858.  
  1859.  
  1860.   Read WMOV, QMOV and CMOV.
  1861.  Obj
  1862.  
  1863.   OBJ sets the name or type of object to be added.
  1864.  
  1865.     Responding with "b" will make boxes and "p" will make paths.
  1866.  
  1867.     For adding a cell give the name of the cell.
  1868.  
  1869.  
  1870.   Note:  Boxes, paths and cells are treated equally as far as adding is
  1871.   concerned. However, boxes, paths and text are "basic" objects while cells
  1872.   are compound objects. Generally, there are different commands for these
  1873.   different types of objects.
  1874.  Octo
  1875.  
  1876.   OCTO is a toggle that changes octagonal cursor mode on certain commands.
  1877.  
  1878.     The menu button intensifies to indicate that octagonal mode is on.
  1879.  
  1880.     When octagonal mode is on, the cursor displacement is snapped to the
  1881.     nearest 45 degrees. The commands ADD (for paths), MOV, WMOV, QMOV, CMOV
  1882.     and CPY are affected.
  1883.  
  1884.  
  1885.   This command is used to restrict drawing so that only 45 and 90 degree
  1886.   angles are allowed, which preserves drawing neatness and conforms to
  1887.   certain physical artwork generation requirements.
  1888.  Open
  1889.  
  1890.   OPEN sets the layers that can have their boxes, paths and text made
  1891.   active.
  1892.  
  1893.     Boxes, paths and text that are not OPENed are blocked from the GET,
  1894.     FGET, WMOV, QMOV, PBEG and PEND commands.
  1895.  
  1896.     Cell commands like CGET, CPUT or CMOV are not affected.
  1897.  
  1898.  
  1899.   VIEW and OPEN accept layer inputs that can be single layers in any order,
  1900.   or a dash (-) can be used to indicate all inclusive layers between the
  1901.   end layers. A dash alone will give all layers from 1 to 32.
  1902.  Orig
  1903.  
  1904.   ORIG relocates the coordinates of all objects in a drawing so that the
  1905.   single cursor input point is the 0,0 position.
  1906.  
  1907.     This allows objects to be constructed almost anywhere on the drawing
  1908.     area and then be repositioned as desired.
  1909.  
  1910.     The working grid is the default grid, but may be changed to the unit
  1911.     grid with the CTRL or ALT keys.
  1912.  
  1913.  
  1914.   Set you cell origin as soon as you make a cell, or you may have to
  1915.   relocate the cell each time it is used in higher ranking cells.
  1916.  Outl
  1917.  
  1918.   OUTL sets cells to draw as their outline.
  1919.  
  1920.     Cells are changed to outlines if a cell's outline is completely
  1921.     enclosed by the rectangular cursor window.
  1922.  
  1923.     If the CRTL and ALT keys are pressed while making the cursor window,
  1924.     cells will be changed if the cell's outline overlaps the cursor window.
  1925.  
  1926.     An outlined cell will be drawn as a white rectangle with the name of
  1927.     the cell in text in the lower left corner. An active cell in outline
  1928.     will be drawn as a bright white rectangle filled with dots.
  1929.  
  1930.     The cell's name can be toggled on and off by pressing the N key.
  1931.  
  1932.  
  1933.   You can greatly speed up an overall redraw by setting the cells in an
  1934.   area where you are not currently working to outline. When a cell is set
  1935.   to outline, retrieval of the cell's files from a disk is unnecessary and
  1936.   drawing the internal parts of a cell is skipped.
  1937.  
  1938.   Read FULL.
  1939.  OvSz
  1940.  
  1941.   OVSZ expands the sides of boxes, paths and closed poly by a given
  1942.   distance.
  1943.  
  1944.     A negative distance shrinks the sides.
  1945.  
  1946.     This command operates only on active box sides.
  1947.  
  1948.     It acts on all vertices of paths or closed poly if any vertex is
  1949.     active.
  1950.  
  1951.  
  1952.   Acute angles on closed poly are not oversized correctly. You need to
  1953.   insert an additional vertex at an acute angle to prevent the peak of an
  1954.   acute angle from extending beyond the oversize distance.
  1955.  
  1956.   The algorithm used must identify a poly as having a rotational angle of
  1957.   +/-360 deg. If this cannot be done, the poly will be unchanged.
  1958.  
  1959.   Read PSIZ.
  1960.  pBeg
  1961.  
  1962.   PBEG makes the first vertex of a path active.
  1963.  
  1964.     This command works if ANY vertex of a path falls within the rectangular
  1965.     cursor window.
  1966.  
  1967.  
  1968.   This command is useful when the JOIN command is being used.
  1969.  
  1970.   Read PEND.
  1971.  pEnd
  1972.  
  1973.   PEND makes the last vertex of a path active.
  1974.  
  1975.     This command works if ANY vertex of a path falls within the rectangular
  1976.     cursor window.
  1977.  
  1978.  
  1979.   This command is useful both to find the end of a path and to reopen a
  1980.   closed path.
  1981.  
  1982.   Read PBEG.
  1983.  Plot
  1984.  
  1985.   PLOT calls the plotting program.
  1986.  
  1987.     A plot will be made of the last cell as it was shown in the drawing
  1988.     window.
  1989.  
  1990.     The drawing window center and width and the cellname are passed to the
  1991.     plotting program.
  1992.  
  1993.     The plotting program is named in the FORM parameter.
  1994.  
  1995.     The only present plotting program is LASI2HP.EXE.
  1996.  
  1997.  
  1998.   It is possible that you will not have enough contiguous memory available
  1999.   to run a plot program from LASI. If this happens, the program will not
  2000.   execute and you will return to LASI. To remedy this situation, either add
  2001.   more RAM, if possible, remove any unnecessary resident programs (TSRs) or
  2002.   reduce the amount of memory used by LASI in the "box=", "path=", "vtx="
  2003.   and "cell=" FORM parameters. If this fails, run the plotting program by
  2004.   itself.  Read the HPGL Conversion help category for how to do this.
  2005.  pRev
  2006.  
  2007.   PREV reverses the order of the vertices in a path.
  2008.  
  2009.     A path must have at least one active vertex.
  2010.  
  2011.  
  2012.   Reversing the order allows vertices to be added to either the beginning
  2013.   or end of a path. It also allows paths to be JOINed properly.
  2014.  pSiz
  2015.  
  2016.   PSIZ changes the size of a path while still preserving its shape.
  2017.  
  2018.     The multiplier is 1 for no change, and can be any number that will not
  2019.     cause the path to overflow the drawing area. The geometric center of
  2020.     the path is kept constant.
  2021.  
  2022.     If a small path is resized or if it is made too small, it may change
  2023.     shape due to the limited resolution of the unit grid.
  2024.  
  2025.     PSIZ acts on paths that have ANY vertex active.
  2026.  
  2027.  
  2028.   Use PSIZ to make different sizes of complex polygon figures such as
  2029.   symbols or lettering.
  2030.  
  2031.   Read OVSZ.
  2032.  Put
  2033.  
  2034.   PUT makes single parts of boxes and paths inactive.
  2035.  
  2036.     This is the inverse of GET and works the same way.
  2037.  
  2038.  
  2039.   Read FPUT and APUT.
  2040.  qMov
  2041.  
  2042.   QMOV (quick move) functions like the sequence GET, MOV, PUT.
  2043.  
  2044.     The command works on box sides that pass through the cursor window, and
  2045.     on vertices or text reference points that are enclosed by the cursor
  2046.     window.
  2047.  
  2048.     Box and path layers must be VIEWed and OPENed.
  2049.  
  2050.     The move part of this command accepts a single PKE entry.
  2051.  
  2052.  
  2053.   QMOV is useful for making small vertex movements and small box side
  2054.   movements when the path or box is only partly accessible.
  2055.  
  2056.   Read WMOV.
  2057.  Quit
  2058.  
  2059.   QUIT exits from the LASI drawing system to DOS.
  2060.  
  2061.     All current information about the drawing is saved on the hard disk in
  2062.     the drawing directory.
  2063.  
  2064.  
  2065.   The drawing may be reentered by running LASI.EXE again. However, the
  2066.   cells that may have been stored on a RAM disk will be unknown to LASI and
  2067.   will have to be relearned by drawing them once.
  2068.  ReNam
  2069.  
  2070.   RENAM changes the name of a cell.
  2071.  
  2072.     Cellnames must conform to DOS filename rules.
  2073.  
  2074.     This command will not work if the new name is the name of a cell that
  2075.     already exists in the cell collection or is a reserved name such as "b"
  2076.     or "p".
  2077.  
  2078.  
  2079.   To give a cell another cell's name in a cell collection, you must first
  2080.   RENAM or KILL the original cell and then RENAM the cell.
  2081.  Res
  2082.  
  2083.   RES calls the resistance calculator.
  2084.  
  2085.   This command functions as follows:
  2086.  
  2087.     You first will be asked for the Sheet Resistance.
  2088.  
  2089.     You will next be asked for the End Compensation. This is the number of
  2090.     squares to be added or subtracted to compensate for any effects of
  2091.     resistor heads. This depends on how you draw your resistors and can be
  2092.     a fractional number.
  2093.  
  2094.     After you enter the sheet resistance, if a path with ANY active vertex
  2095.     is found, the path will be traced from beginning to end and the total
  2096.     resistance will be displayed. To compensate for corners, half the width
  2097.     is always subtracted from each segment length.
  2098.  
  2099.     After a SINGLE path is measured the command will enter manual mode.
  2100.  
  2101.     If no path has been found, you will have to manually enter the resistor
  2102.     width, otherwise, the path width is taken as the resistor width.
  2103.  
  2104.     In manual mode, at the "<-->" command prompt, the width of the resistor
  2105.     must be measured by a 2-point cursor input or a PKE distance entry.
  2106.  
  2107.     At the command prompt "R-->", you can then calculate resistance by
  2108.     making 2-point cursor distance measurements along the length of a
  2109.     resistor. The distance will be displayed by a dashed line, and the
  2110.     incremental resistance and the total resistance will be displayed at
  2111.     the bottom of the screen.
  2112.  
  2113.     To end measuring, click the mouse on any menu button except the window
  2114.     commands, or press any key except Z, SPACE or a function key.
  2115.  
  2116.  
  2117.   Note that to automatically measure a path, it must be a path in the
  2118.   present cell. Paths that are visible but are part of a cell within the
  2119.   present cell must still be manually measured.
  2120.  
  2121.   This command can be used as a ratio parameter calculator. For example, to
  2122.   measure a MOS gate size, set the sheet resistance to 1. Measure the gate
  2123.   width as the resistor width and the gate length as the resistor length.
  2124.  rDrw
  2125.  
  2126.   RDRW is the same as DRAW except that layers are drawn in reverse
  2127.   decending order.
  2128.  
  2129.     The drawing order rules for lesser cells of DRAW apply to RDRW.
  2130.  
  2131.  
  2132.   This command is useful if you want to overlay fills so that objects that
  2133.   would normally be covered by objects on higher layers remain visible.
  2134.  
  2135.   Read DRAW.
  2136.  Rot
  2137.  
  2138.   ROT rotates objects.
  2139.  
  2140.     Rotation is around a single cursor input point.
  2141.  
  2142.     Boxes, text and cells rotate +/-90, 180 deg.
  2143.  
  2144.     Paths rotate through any angle.
  2145.  
  2146.     Boxes rotate if ALL sides are active.
  2147.  
  2148.     ALL vertices of a path rotate if ANY vertex is active.
  2149.  
  2150.     Text and cells rotate if they are active.
  2151.  
  2152.  
  2153.   Note:  Sometimes a rotated path may not be exactly identical to an
  2154.   original if it has been rotated and then rotated back. This is caused by
  2155.   rounding coordinates to the unit grid each time a rotation takes place.
  2156.  
  2157.   Read FLP.
  2158.  Rstr
  2159.  
  2160.   RSTR restores a drawing window.
  2161.  
  2162.     Only the keys 1-9 will execute the command, otherwise the window number
  2163.     will be reasked.
  2164.  
  2165.     The window should have been previously saved using the SAVE command.
  2166.  
  2167.     The restored window is immediately redrawn.
  2168.  
  2169.     RSTR does not accept keyboard entries in the usual way, that is,
  2170.     terminated by ENTER. It requires only a number key to be pressed.
  2171.  
  2172.  
  2173.   RSTR has a LAST WINDOW FEATURE. Whenever a window is changed, the
  2174.   previous window remembered. Reclicking the right mouse button will cause
  2175.   the original window to be restored.
  2176.  Save
  2177.  
  2178.   SAVE saves a drawing window.
  2179.  
  2180.     The windows are numbered 1-9.
  2181.  
  2182.     Only the keys 1-9 are acceptable window numbers, otherwise, the window
  2183.     number will be reasked.
  2184.  
  2185.     SAVE does not accept keyboard entries in the usual way, that is,
  2186.     terminated by ENTER. It requires only a number key to be pressed.
  2187.  
  2188.  
  2189.   The windows saved are global, that is they are independent of the Cell
  2190.   Mode rank that you are in. The windows are stored in the CONSTS4.DBD file
  2191.   when you quit LASI, and are returned when you rerun the program.
  2192.  Scale
  2193.  
  2194.   SCALE is used to set the name of the physical scale units of the drawing
  2195.   and the number of basic units per physical unit.
  2196.  
  2197.     The physical units can be anything, but for integrated circuits "um"
  2198.     and "mil" are preferred because some utility programs use these units.
  2199.  
  2200.     The number of basic units per physical unit will usually be an integer
  2201.     greater than 1, but fractional scales are permitted.
  2202.  
  2203.  
  2204.   The scale that is set by this command really only relates the basic units
  2205.   in which a drawing is internally done to the inputs that you give to
  2206.   certain questions and to dimensions that you see externally. All inputs
  2207.   and outputs are converted by the scale to and from basic units.
  2208.  
  2209.   When setting up a scale, you should determine the maximum size that your
  2210.   drawing could be and then set your scale so that the maximum number of
  2211.   basic units (65536) is slightly larger than that size. For example, a
  2212.   typical integrated circuit will fit in 16 mm, which would result from
  2213.   using a scale of 4 basic units/micron, or .25um drawing resolution.
  2214.  Set
  2215.  
  2216.   SET allows you to change certain parameters and the actions of certain
  2217.   commands.
  2218.  
  2219.   Presently 4 parameters can be set:
  2220.  
  2221.   1. SET sets the resolution of the drawing in (screen width/size of
  2222.     figure) units.
  2223.  
  2224.     Boxes are not drawn if both dimensions are less than the resolution.
  2225.  
  2226.     Paths or poly are not drawn if the distance from the minimum vertex to
  2227.       the maximum vertex in both dimensions is less than the resolution.
  2228.  
  2229.     Paths are drawn as lines if their width is less than the resolution.
  2230.  
  2231.     Text is not drawn if its size (height) is less than the resolution.
  2232.  
  2233.     The dot grid is not draw if its spacing is less than the resolution.
  2234.  
  2235.     Normally, resolution of 200 is about right.
  2236.  
  2237.  
  2238.   2. The text spacing ratio can be set. This is the fraction of the size of
  2239.     text characters with which the characters are spaced. The value is
  2240.     clamped between .5 and 2.
  2241.  
  2242.   3. The number of working grids that you intend to use can be set so that
  2243.     you won't have to step through extra working grids with the WGRD
  2244.     command.
  2245.  
  2246.   4. The size of the working grids in physical units can be set. You must
  2247.     enter all the grids, but pressing ENTER keeps the default value in the
  2248.     parentheses.
  2249.  Show
  2250.  
  2251.   SHOW gives information about an object.
  2252.  
  2253.     In System Mode, SHOW gives a listing of the named cell's lesser cells
  2254.     and the number of boxes and paths (text) on the layers.
  2255.  
  2256.     In Cell Mode, SHOW gives information on the first active object that it
  2257.     finds in the order: box/path/cell.
  2258.  
  2259.     For a box the positions of the sides and the layer are shown.
  2260.  
  2261.     For a path the vertex positions, the layer, the width and an active
  2262.     vertex mark "*" are shown.
  2263.  
  2264.     For text the reference point, the layer, the size and the characters
  2265.     will be shown.
  2266.  
  2267.     For a cell the information is similar to the System Mode SHOW, but also
  2268.     includes the position and orientation of the cell.
  2269.  
  2270.     No active object gives a parts count of the current cell.
  2271.  
  2272.  
  2273.   Press ESC or click the right mouse button to continue or exit from SHOW.
  2274.  Smsh
  2275.  
  2276.   SMSH smashes any active cells, text or boxes into their component objects
  2277.   and adds them to the current cell. The original active objects are
  2278.   deleted.
  2279.  
  2280.   Cell Smashing
  2281.  
  2282.     Cells are smashed down one rank at a time. You may have to do multiple
  2283.     smashes if you want to reduce higher rank cells all the way to boxes,
  2284.     paths and text.
  2285.  
  2286.   Text Smashing
  2287.       
  2288.     Text is smashed into poly objects that replace the original text. These
  2289.     poly are the same as any other poly, and may be rotated to any angle or
  2290.     given width to make paths. Smashing text can increase the number of
  2291.     paths and vertices considerably if you are not careful.
  2292.  
  2293.   Box Smashing
  2294.  
  2295.     Boxes must have all sides active. A box will be replaced by a five
  2296.     vertex polygon with the same dimensions.
  2297.  
  2298.  
  2299.   Note:  If you try to SMSH any object that will cause any of your object
  2300.   limits set in FORM.DBD to be exceeded, the object will not be smashed but
  2301.   will remain intact and active. You will get a message for each object
  2302.   component that cannot be added. If you are smashing text or boxes you may
  2303.   get a partial poly conversion, but the original object will remain.
  2304.  Sort
  2305.  
  2306.   SORT cleans, sorts and stores a backup of the drawing.
  2307.  
  2308.     Boxes which have two or more sides superimposed are deleted.
  2309.  
  2310.     Sequential vertices with the same coordinates are deleted.
  2311.  
  2312.     Any cells that may for some reason have rank greater or equal to the
  2313.     current cell will be deleted.
  2314.  
  2315.     Boxes, paths and text are sorted in ascending order of their layers and
  2316.     their Y-position.
  2317.  
  2318.     Cells are sorted according to their Y-position and their order in the
  2319.     master CELLS4.DBD file.
  2320.  
  2321.     Files of the current cell are updated on the hard disk.
  2322.  
  2323.     The backup files SORTBKUP.BP4 and SORTBKUP.CL4 are updated on the hard
  2324.     disk. These may be used to restore the cell if the ABRT command is
  2325.     used. This allows you to "undo" what was done since the last SORT.
  2326.  
  2327.     You may stop a long sort by pressing the SPACE bar. Eventually, when
  2328.     objects are in good order, sorting will be fast.
  2329.  
  2330.  
  2331.   Hint:  Sorting should be done periodically while working on a drawing.
  2332.   This not only cleans any defective objects, but also improves drawing
  2333.   speed by ordering the cells.
  2334.  Step
  2335.  
  2336.   STEP steps active objects into an Nx by Ny two-dimensional array.
  2337.  
  2338.     Stepping distances in X and Y are determined by a 2-point cursor input.
  2339.     This may also be entered as a single PKE entry.
  2340.  
  2341.     The original active objects are copied repeatedly just as though the
  2342.     CPY command was used. The final copied objects remain active, while all
  2343.     previous copies become inactive.
  2344.  
  2345.     Stepping can be ended by pressing the SPACE bar.
  2346.  
  2347.  
  2348.   Note:  Care should be used with this command because you can easily fill
  2349.   up your cell's object capacity if you don't watch your numbers. If this
  2350.   happens press SPACE to end stepping.
  2351.  Sys
  2352.  
  2353.   SYS exits directly from Cell Mode to System Mode.
  2354.  
  2355.     All active objects are made inactive.
  2356.  
  2357.     The current cell is saved on the hard disk in the drawing directory.
  2358.  
  2359.  
  2360.   Any cells that may have been put on a RAM disk remain known to LASI when
  2361.   you go to System Mode. You lose these only when you QUIT.
  2362.  Text
  2363.  
  2364.   TEXT generates a text object.
  2365.  
  2366.   You will be asked for the following:
  2367.  
  2368.   ∙ The reference point, a single cursor input point, which is the lower
  2369.     left corner of the character field where the first text character is to
  2370.     be placed.
  2371.  
  2372.   ∙ The text character string of up to 40 characters terminated by ENTER.
  2373.  
  2374.  
  2375.   The string of text should appear in the drawing made from polygons. The
  2376.   layer and size of the characters will be taken from the current LAYR and
  2377.   WDTH settings. The CLYR and CWTH commands may be used to change the text
  2378.   layer and size.
  2379.  
  2380.     Text is always left justified and appears on a single line. There is no
  2381.     text editor, so you must delete and rewrite any text.
  2382.  
  2383.     You can make the text active using the GET or FGET commands.
  2384.  
  2385.     You may copy, rotate, flip and move the text using the CPY, ROT, FLP
  2386.     and the several types of move commands.
  2387.  
  2388.     A text object is seen by LASI as a single point, the reference point.
  2389.     To operate on a text object, the reference point must fall within any
  2390.     cursor window.
  2391.  
  2392.     Text size will always be in integral multiples of 15 basic units. This
  2393.     is to prevent distortion of the characters.
  2394.  
  2395.  
  2396.   Hint:  To make text characters that are to appear permanently on any IC
  2397.   masks, first make text of the appropriate size and then SMSH the text.
  2398.   Since any characters must have a width that will reproduce on the masks,
  2399.   you will first have to give the smashed poly some width with the CWTH
  2400.   command, and then modify the paths using the MOV, CUT, JOIN, etc.
  2401.   commands to make the characters look better.
  2402.  
  2403.   Read the Text Generation help topic for more information.
  2404.  TLC In
  2405.  TLC Out
  2406.  
  2407.   TLC IN and TLC OUT are commands that call the TLC.EXE program which
  2408.   converts internal cell data TO and FROM transportable (TLC) format. "In"
  2409.   means convert TLC files FROM some source TO internal form in your present
  2410.   drawing. "Out" means convert FROM internal form in your present drawing
  2411.   TO some destination in TLC format.
  2412.  
  2413.   Normally TLC files are put on a floppy disk. This lets you keep your
  2414.   drawing on floppy disk, and then load and save that drawing or individual
  2415.   cells as needed. It is also recommended that you keep drawing backups
  2416.   this way.
  2417.  
  2418.   With either command, the default source or destination disk drive is the
  2419.   floppy drive that is in the "fdisk=" parameter in the FORM.DBD file. Any
  2420.   acceptable drive or path may be entered in place of that drive.
  2421.  
  2422.   If you want to refer to TLC files in the current drawing directory enter
  2423.   a period "." to the drive question.
  2424.  
  2425.   You may specify up to 10 Cell Names separated by spaces.
  2426.  
  2427.   TLC OUT without any Cell Name(s) dumps to the destination disk ALL
  2428.   drawing cells as TLC files along with the CELLS.REF file.
  2429.  
  2430.   TLC IN without any Cell Name(s) retrieves ALL cells by reading the
  2431.   CELLS.REF file on the Source disk and translating TLC files into internal
  2432.   file form (.BP4 & .CL4 files).
  2433.  
  2434.   These commands have considerable power since you can also specify the
  2435.   name of any system disk device as the source or destination. You can also
  2436.   give a path as part the disk specification, so that cell files can be
  2437.   TAKEN FROM or SENT TO other directories other than your drawing
  2438.   directory.
  2439.  
  2440.   Unless you are familiar with the use of DOS paths and remember just where
  2441.   you put things, you can also get into trouble this way.
  2442.  
  2443.   TLC must be used if you add a cell to your drawing that was not created
  2444.   within the drawing. Cells from other drawings that need to be imported
  2445.   must be installed using TLC. The reason for this is that LASI uses
  2446.   pointers in its internal files to save space. The cell references for
  2447.   cells within other cells may be incorrect, unless correctly installed by
  2448.   TLC.
  2449.  
  2450.  
  2451.   As an example of how TLC would be used, suppose that someone sends you
  2452.   cell files made using TLC on a floppy disk. A certain cell is to be added
  2453.   to the drawing that you have. The floppy disk should have the TLC file of
  2454.   that cell and the TLC files of any cells that the cell might contain, if
  2455.   they are not already in your drawing. By using TLC IN and specifying the
  2456.   cell name, that cell will be automatically installed from the floppy disk
  2457.   along with any lesser cells that don't already exist.
  2458.  
  2459.   Similarly, if you want to send cells to someone else, you would use TLC
  2460.   OUT to a floppy disk destination, naming the cells that you want to
  2461.   export. TLC will make all lesser cells if you want it to.
  2462.  
  2463.   This cell interchange is very useful if you keep cell archives in TLC
  2464.   form on a local area network.
  2465.  
  2466.   Note:  These commands really only run TLC.EXE as a child process from
  2467.   LASI.EXE. It is possible that you might run out of memory, and the
  2468.   program will not execute, or will return an "Not Available" error. If
  2469.   this happens, you must run TLC.EXE alone in memory. Read the TLC
  2470.   Conversion help category for instructions on running TLC.EXE.
  2471.  View
  2472.  
  2473.   VIEW sets the layers that will be drawn on the display.
  2474.  
  2475.     Boxes, paths and text that are not VIEWed are blocked from the GET,
  2476.     FGET, WMOV, QMOV, PBEG and PEND commands.
  2477.  
  2478.  
  2479.   VIEW and OPEN accept layer inputs that can be single layers in any order,
  2480.   or a dash (-) can be used to indicate all inclusive layers between the
  2481.   end layers. A dash alone will give all layers from 1 to 32.
  2482.  
  2483.   Read OPEN.
  2484.  Wdth
  2485.  
  2486.   WDTH sets the width of paths and the size of text to be ADDed.
  2487.  
  2488.     The present range of acceptable widths is 2 to 1024 basic units.
  2489.  
  2490.     If a pathwidth is entered that is unacceptable, then the prompt will be
  2491.     repeated with the value in the default parentheses.
  2492.  
  2493.     A width of 0 is also acceptable. This produces paths of zero width or
  2494.     polygons (poly) or text of minimum size.
  2495.  
  2496.  
  2497.   A positive width causes the end of a path to be flush with its
  2498.   coordinate. A negative width produces a path whose end extends half the
  2499.   width beyond the coordinate. This is for CALMA compatibility. Use of
  2500.   negative widths is generally discouraged.
  2501.  
  2502.   Read CWTH.
  2503.  wGet
  2504.  
  2505.   WGET (window get) is a combination of GET and CGET.
  2506.  
  2507.     Cells, boxes, paths and text are affected the same way as those
  2508.     commands.
  2509.  
  2510.     It is useful if you want to activate a number of objects of different
  2511.     types to do some operation on all of them simultaneously.
  2512.  
  2513.  
  2514.   WGET is useful if you are MOVing large sections of a drawing because you
  2515.   can see just which object are active before the operation. WGET makes
  2516.   active single sides of boxes and single vertices of paths, which are then
  2517.   pulled with active cells when MOVing is done.
  2518.  
  2519.   Read AGET.
  2520.  wGrd
  2521.  
  2522.   WGRD steps through the list of working grids.
  2523.  
  2524.     The working grids should have been entered using the SET command.
  2525.  
  2526.     The present working grid will be shown at the bottom of the screen.
  2527.  
  2528.  
  2529.   WGRD when assigned to a function key accepts a numerical argument.
  2530.  
  2531.   For example, the parameter in the FORM.DBD file:
  2532.  
  2533.                             fkey=wgrd,10
  2534.  
  2535.   assigns a function key so that when the key is pressed, the working grid
  2536.   is set to 10 physical units.
  2537.  
  2538.   Read SET and the Form File General Information topic.
  2539.  wMov
  2540.  
  2541.   WMOV (window move) moves boxes, paths and cells.
  2542.  
  2543.     The sides of boxes or vertices of paths are moved if they are enclosed
  2544.     within the rectangular cursor window.
  2545.  
  2546.     Cells are also moved, but only if the cursor window completely encloses
  2547.     the cell's outline. The cell may be drawn fully or be in outline.
  2548.  
  2549.     If the CTRL and ALT keys are pressed while making the cursor window,
  2550.     cells will be moved if the cell's outline overlaps the cursor window.
  2551.  
  2552.     Boxes and vertices are unaffected.
  2553.  
  2554.     The first two cursor points form the cursor window.
  2555.  
  2556.     The next two cursor points determine the distance to be moved.
  2557.  
  2558.     A box side must be completely enclosed by the cursor window.
  2559.  
  2560.     Box and path layers must be VIEWed and OPENed.
  2561.  
  2562.     The move part of this command accepts a single PKE entry.
  2563.  
  2564.  
  2565.   WMOV is useful for stretching large sections of drawings orthogonally,
  2566.   for selectively doing box side movements and for quickly doing small
  2567.   vertex movements.
  2568.  Xpnd
  2569.  
  2570.   XPND expands the width of the drawing window.
  2571.  
  2572.     The new window width is multiplied by 2.
  2573.  
  2574.     The display is redrawn.
  2575.  
  2576.  
  2577.   Continuously XPNDing will eventually cause the window to expand to the
  2578.   maximum size permitted or the whole "universe".
  2579.  
  2580.   Read DRAW and the Universe General Information topic.
  2581.  Zoom
  2582.  
  2583.   ZOOM reduces the drawing window size.
  2584.  
  2585.     The new size will be the best fit of the rectangular cursor window
  2586.     formed by a 2-point cursor input.
  2587.  
  2588.     The display is redrawn.
  2589.  
  2590.     ZOOM works over a 1000:1 range.
  2591.  
  2592.  
  2593.   Hint:  To ZOOM to a minimum window at a certain position, click the mouse
  2594.   on that same position twice. This will zoom to the default minimum window
  2595.   size centered at the cursor position.
  2596.  
  2597.   Read DRAW.
  2598. TLC Conversion
  2599.  
  2600.  Introduction
  2601.  
  2602.   TLC (Transportable LASI Cells) is a form of LASI cell data that is used
  2603.   for drawing cell data storage and interchange. TLC files are ASCII
  2604.   sequential files written in a well documented form. TLC files are easily
  2605.   readable by programming languages including BASIC and C. TLC is
  2606.   convenient for writing special programs to be used with LASI such as
  2607.   drawing transformation utilities or translators from other drawing
  2608.   systems. (TILT.EXE and CSF2TLC.EXE are examples.)
  2609.  
  2610.   Each TLC file contains the information needed to construct a single cell.
  2611.   The file contains information on the boxes, paths, text and cells in a
  2612.   cell. It does not contain information on how to make any cells that may
  2613.   be used within a cell. To build a complete drawing you need a COMPLETE
  2614.   set of TLC files.
  2615.  
  2616.   By way of definition, cell files in TLC are called EXTERNAL files, while
  2617.   cell files used by LASI directly (.BP4 and .CL4) are called INTERNAL
  2618.   files. TLC files have the extension .TLC in DOS. Internal files are
  2619.   designed for the computers convenience, while external files are designed
  2620.   for human convenience.
  2621.  
  2622.   Using TLC is the ONLY WAY that cells can be installed in a LASI drawing
  2623.   from an external source. This is because the internal files use a pointer
  2624.   system of referring to a cell to save memory space. This pointer is the
  2625.   position in the CELLS4.DBD file of a cell's information, which cannot be
  2626.   changed without changing all cell references. The program TLC.EXE takes
  2627.   referencing into account and adjusts accordingly.
  2628.  
  2629.   Since each cell has its own TLC file, and a TLC file may not really
  2630.   contain all the information to construct a cell if it has lesser cells
  2631.   within it, the TLC files for the lesser cells will have to be present for
  2632.   conversion to internal form. When converting to external form, the
  2633.   TLC.EXE program is smart enough to make the TLC files of any lesser cells
  2634.   automatically.
  2635.  
  2636.   When conversion from external to internal is being done, the lesser cells
  2637.   will also be made in internal form if they are not already present in the
  2638.   drawing cell collection. You may optionally also replace any cells that
  2639.   are already there with new ones.
  2640.  Conversion Errors
  2641.  
  2642.   It is possible that files may be missing, incorrect or there may not be
  2643.   enough memory when converting. TLC.EXE will try to construct a drawing as
  2644.   best as possible by making a FALSE CELL. A false cell is a cell
  2645.   containing only the name of the cell in text enclosed in double angle
  2646.   brackets on layer 32. The rank of a false cell will always be 1, so that
  2647.   it will always appear in other cells. If a false cell is made, TLC will
  2648.   indicate the error, and continue as well as it can.
  2649.  
  2650.   Since it has rank 1, the false cell will contain no other cells. However,
  2651.   if the error is corrected, and TLC is used to overwrite the false cell,
  2652.   normal cell nesting will be constructed. The false cell may be thought of
  2653.   as a token or placeholder for the missing cell where it is used in other
  2654.   cells. TLC will always try to replace the token cell with the actual cell
  2655.   in the drawing cell collection once the correct information is available
  2656.   to make the actual cell.
  2657.  Conversion Options
  2658.  
  2659.   The TLC.EXE program has 4 Conversion Options, two for conversion TO TLC
  2660.   and two FROM TLC:
  2661.  
  2662.   1. Convert ALL Cells to TLC:
  2663.     ALL Cells are converted from the source to the destination. This is the
  2664.     standard drawing dump to TLC form.
  2665.  
  2666.   2. Convert NAMED Cells to TLC:
  2667.     NAMED cells are converted to TLC from the source to the destination.
  2668.     Cells that are needed to construct a cell of greater rank are also
  2669.     converted as an option.
  2670.  
  2671.   3. Convert ALL Cells from TLC:
  2672.     This requires that the CELLS.REF file exist at the source. The names of
  2673.     all the cells at the source are simply read from the CELLS.REF file in
  2674.     that location and are converted as if they had been named individually
  2675.     in Option 4. If the CELLS.REF file is missing at the source then Option
  2676.     4 only may be used.
  2677.  
  2678.   4. Convert NAMED Cells from TLC:
  2679.     NAMED cells are converted to internal files. The CELLS4.DBD file at the
  2680.     destination is augmented with the NAMED cell. If lesser cells are
  2681.     needed they are also converted from the source TLC into internal files
  2682.     at the destination. If the cells are not present at the destination
  2683.     they will be converted automatically. If the lesser cells are present
  2684.     at the destination you will have the option to replace them with new
  2685.     ones. Therefore, to fully reconstruct a cell from TLC, all lesser cells
  2686.     must be present either in the source or destination cell collections in
  2687.     TLC or internal form.
  2688.  
  2689.   When converting back from TLC form, the TLC program knows if a cell is in
  2690.   the destination by reading the CELLS4.DBD file. TLC will replace the
  2691.   named cell but will OPTIONALLY replace lesser cells, the cells within the
  2692.   named cell. If any cells do not exist in the drawing cell collection they
  2693.   will be made.
  2694.  
  2695.   If the CELLS4.DBD file is not present at the destination, then one is
  2696.   made.
  2697.  
  2698.   To convert a complete layout drawing from TLC, you start with a blank
  2699.   directory, and name the main drawing cell to be converted (or use Option
  2700.   3). The TLC program then reconstructs the whole drawing by making all
  2701.   lesser cells first, and then the named main cell.
  2702.  
  2703.   In all options the CONSTS4.DBD file of the source or destination
  2704.   directory is left unaffected. If a drawing is reconstructed from TLC, you
  2705.   must load your favorite CONSTS4.DBD file, or let LASI provide a default
  2706.   one when it starts up.
  2707.  Running TLC.EXE
  2708.  
  2709.   When running TLC.EXE you pass parameters as arguments on the DOS command
  2710.   line. Arguments are separated by one or more spaces.
  2711.  
  2712.   The FIRST parameter is the CONVERSION DIRECTION consisting of the brace
  2713.   characters "{" or "}". The direction is indicated by how the brace points
  2714.   at "tlc".  For example, "tlc } etc." converts FROM TLC form.
  2715.  
  2716.   The SECOND is the SOURCE path, the disk name or "." for the current
  2717.   directory.
  2718.  
  2719.   The THIRD is the DESTINATION path, the disk name or "." for the current
  2720.   directory.
  2721.  
  2722.   The NEXT parameters are needed only if options 2 or 4 are be used, and
  2723.   are a list of up to 10 NAMES of cells to be converted according to that
  2724.   option.
  2725.  
  2726.   Hint:  Run the TLC.EXE program without any arguments to get HELP.
  2727.  
  2728.   Important:  The FORM.DBD file must always be present in the directory
  2729.   where the internal (.BP4 and .CL4) files exist or are to be generated.
  2730.   TLC.EXE needs this information to allocate space.
  2731.  
  2732.  
  2733.   Things to remember when converting:
  2734.  
  2735.     The first THREE parameters MUST be present to be counted correctly.
  2736.  
  2737.     For options 1 and 3 the file CELLS4.DBD or CELLS.REF must be in the
  2738.       source directory.
  2739.  
  2740.     If there are no NAME parameters, options 1 and 3 are assumed and
  2741.       performed according the direction of the brace character.
  2742.  The CELLS.REF File
  2743.  
  2744.   As TLC makes it, the CELLS.REF file is a copy of CELLS4.DBD.
  2745.  
  2746.   You may change the CELLS.REF file to convert modified lists of cells into
  2747.   Internal form.
  2748.  
  2749.   To remove a cell, delete the cell's name and the data line that follows
  2750.   it in the CELLS.REF file.
  2751.  
  2752.   To add a cell, insert the cell's name on a single line and then the
  2753.   cell's rank on the next line. You don't need any additional data on the
  2754.   second line.
  2755.  
  2756.   The entry on the first line of the CELLS.REF file is the number of cells
  2757.   in the file. If you add or delete cells, you should adjust this number.
  2758.   When TLC converts to Internal form using CELLS.REF, it counts either to
  2759.   the number of cells it reads on the first line or to the end of the file,
  2760.   whichever comes first.
  2761.  
  2762.   Do all this with a text editor that produces standard DOS text files.
  2763.  TLC Format
  2764.  
  2765.   Cell files in TLC have a record structure. There are presently five kinds
  2766.   of records: Header, Cell, Box, Path and Text.
  2767.  
  2768.   The records for the objects in the cell are preceded by an "equals code"
  2769.   consisting of two characters: the first being "=" and the second being
  2770.   "H", "C", "B", "P" an "T" for Header, Cell, Box, Path or Text
  2771.   respectively. The TLC program then looks for the type of object to be
  2772.   made and acts accordingly. If at some time in the future, other objects
  2773.   are added to LASI, similar code will be used.
  2774.  
  2775.   If a data error is encountered during translation, it is possible that
  2776.   one or two objects may be incorrectly reconstructed from TLC. The equals
  2777.   code will try to resynchronize the data and correct translation will then
  2778.   resume. The Header record contains an object count and this is compared
  2779.   to the actual number of objects made, and miscounts are indicated by the
  2780.   TLC program.
  2781.  
  2782.   All records, including the Header, may be written in any order in a TLC
  2783.   file.
  2784.  Records in Detail
  2785.  
  2786.   Header Record:      <nl>= carriage return + linefeed    <sp>= space
  2787.  
  2788.       1= "=H" (literal)<nl>
  2789.       2= Name of Cell (DOS file name)<nl>
  2790.       3= Version of LASI (literal)<nl>
  2791.       4= Version of TLC (literal)<nl>
  2792.       5= Basic Units per Physical Unit<nl>
  2793.       6= Name of Physical Unit (literal)<nl>
  2794.       7= Date of Cell Conversion (literal)<nl>
  2795.       8= Time of Cell Conversion (literal)<nl>
  2796.       9= Rank of Cell<sp>
  2797.       10= Left Outline Boundary in basic units<sp>
  2798.       11= Bottom Boundary in basic units<sp>
  2799.       12= Right Boundary in basic units<sp>
  2800.       13= Top Boundary in basic units<nl>
  2801.       14= Number of Boxes<sp>
  2802.       15= Number of Paths<sp>
  2803.       16= Number of Vertices<sp>
  2804.       17= Number of Cells<nl>
  2805.  
  2806.       Note:  Versions must begin with a numeric character
  2807.  
  2808.   Cell Record Entries:
  2809.  
  2810.       1= "=C" (literal)<nl>
  2811.       2= Name of Lesser Cell<nl>
  2812.       3= Orientation (see below)<sp>
  2813.       4= X Position in basic units<sp>
  2814.       5= Y Position in basic units<sp>
  2815.       6= reserved (presently zero)<nl>
  2816.  
  2817.       Property Number: (0-15)
  2818.         16 bit integer, all bits 0 except:
  2819.  
  2820.           Bit 4,
  2821.             0= draw cell fully
  2822.             1= draw cell outline
  2823.  
  2824.         Orientation:
  2825.           Bit 3,
  2826.             0= cell not flipped
  2827.             1= cell is flipped in X before rotation
  2828.  
  2829.           Bits 2 and 1,
  2830.             0,0 = no rotation
  2831.             0,1 = 90 deg rotation CCW
  2832.             1,0 = 180 deg rotation CCW
  2833.             1,1 = 270 deg rotation CCW
  2834.  
  2835.   Box Record Entries:
  2836.  
  2837.       1= "=B" (literal)<nl>
  2838.       2= Layer of Box<sp>
  2839.       3= X of Lower Left Corner in basic units<sp>
  2840.       4= Y of Lower Left Corner in basic units<sp>
  2841.       5= X of Upper Right Corner in basic units<sp>
  2842.       6= Y of Upper Right Corner in basic units<nl>
  2843.  
  2844.   Path/Poly Record Entries:
  2845.  
  2846.       1= "=P" (literal)<nl>
  2847.       2= Layer of Path/Poly<sp>
  2848.       3= Width in basic units<sp>
  2849.       4= No. of Vertices in path/poly<nl>
  2850.       5= Vertices in basic units in the form:
  2851.       X1<sp>Y1<sp>X2<sp>Y2<sp>X3<sp>Y3<sp>X4<sp>Y4<sp>X5<sp>Y5<nl>
  2852.       .......Xn-1<sp>Yn-1<sp>Xn<sp>Yn<nl>
  2853.  
  2854.       (Groups of 5 coordinates separated by <sp> ended by <nl>,
  2855.       always with <nl> after Last Coordinate Pair)
  2856.  
  2857.   Text Record Entries:
  2858.  
  2859.       1= "=T" (literal)<nl>
  2860.       2= Layer of Text<sp>
  2861.       3= Size in basic units<sp>
  2862.       4= No. of Vertices used by text (includes Ref Point)<sp>
  2863.       5= Orientation 0-7 (same as cells)<nl>
  2864.       6= X Ref Point in basic units<sp>
  2865.       7= Y Ref Point in basic units<nl>
  2866.       8= ASCII character text string<nl> (u/l case, up to 32 characters)
  2867. CSF Conversion
  2868.  
  2869.  Introduction
  2870.  
  2871.   LASI drawings are not very useful if they cannot be transformed into the
  2872.   more commonly used CAD system formats. The most common is CALMA Stream
  2873.   Format. Although CALMA drawing systems for ICs have become somewhat
  2874.   obsolete, the data format survives, and newer CAD systems such as CADENCE
  2875.   or MENTOR can usually convert it. LASI can be converted to CALMA Stream
  2876.   Format (CSF) exactly, and from CSF with some limitations.
  2877.  
  2878.   LASI has a drawing structure that is very similar to the CALMA drawing
  2879.   system, with the exception that LASI has box objects and is more limited
  2880.   in its data capacity and cell nesting depth. In LASI, cells are similar
  2881.   to CALMA structures, except that a definite rank is attached to a cell.
  2882.   Also in LASI there are no boundaries, instead there are zero width paths
  2883.   called poly. LASI drawings transform easily into CALMA because a box can
  2884.   be made into a boundary, a poly can become a boundary also, a path can
  2885.   transform directly into a path, and cells can become structures, partly
  2886.   due to their ranked nesting.
  2887.  
  2888.   Since LASI drawings are more or less a subset of CALMA, conversion to
  2889.   CALMA is easy. More difficult is conversion from CALMA to LASI because
  2890.   there are things in CALMA (like arrays) that don't exist in LASI (yet).
  2891.   Conversion is possible in most cases if certain restrictions are used in
  2892.   the original CALMA drawing (like limiting the structure nesting or using
  2893.   only small arrays).
  2894.  Conversion Programs
  2895.  
  2896.   The LASI2CSF.EXE program converts a LASI drawing into a binary file which
  2897.   is in CALMA Stream Format (CSF). This format is used as the standard for
  2898.   preserving and interchanging CALMA drawings. The file generated by
  2899.   LASI2CSF.EXE may be sent directly to a CALMA, may be put onto magtape if
  2900.   sent to some larger computer that has magtape capability, or may be put
  2901.   on a floppy disk for reading by other work stations with that capability.
  2902.  
  2903.   The CSF2TLC.EXE program will read back a CSF file and will construct a
  2904.   LASI drawing in TLC form as best as possible. A drawing first done on
  2905.   LASI will reconstruct exactly if returned from a CALMA without having
  2906.   been modified in some non-compatible way. Drawings made originally on
  2907.   CALMA may occasionally convert differently, since LASI presently doesn't
  2908.   have such things as datatypes, 64 layers, text or arrays. Rectangular
  2909.   CALMA boundaries will be optionally converted to LASI boxes.
  2910.  
  2911.   Note that CALMA Stream Files used by LASI2CSF.EXE and CSF2TLC.EXE have
  2912.   the extension ".CSF". This is a convention that not always standard. You
  2913.   may have to rename you file extensions.
  2914.  Running LASI2CSF.EXE
  2915.  
  2916.   1. LASI2CSF.EXE must be present in the \LASI4 directory with a "PATH"
  2917.     opened to it by execution of the DOS PATH command. You MUST run the
  2918.     program with the current DOS directory the directory of the drawing to
  2919.     be converted.
  2920.  
  2921.   2. LASI2CSF will ask for the CALMA drawing name. This is the name that
  2922.     the drawing would have on the CALMA.
  2923.  
  2924.   3. LASI2CSF reads the CELLS4.DBD file, the CONSTS4.DBD file and the
  2925.     FORM.DBD file in the source directory. CONSTS4.DBD sets the scales that
  2926.     appear in the starting dialog as default values. FORM.DBD will allocate
  2927.     memory for the data that the program processes so that memory usage
  2928.     will correspond to LASI's usage.
  2929.  
  2930.   4. LASI2CSF asks for the "Disk\Path\Name" of the CSF file. The extension
  2931.     ".CSF" will be added, so don't include it in the name of the CSF file.
  2932.     If a name is unacceptable, it will be reasked until an acceptable one
  2933.     is given.
  2934.  
  2935.   5. If you have previously run LASI2CSF, there will be a setup file in the
  2936.     drawing directory named LASI2CSF.SET. If this is found, you will be
  2937.     asked if you want to use the information. This can save time if you do
  2938.     conversions often on a drawing. If you choose to use the default setup
  2939.     data, steps 7-11 below will be skipped.
  2940.  
  2941.   6. LASI2CSF will then ask for scale information. When converting to CALMA
  2942.     you must know what physical units you used and how many LASI units per
  2943.     physical unit you used in the LASI drawing. You must tell LASI2CSF how
  2944.     many CALMA units you want per physical unit. You may default to 1000
  2945.     basic units/micron and produce an exact 56-bit floating point
  2946.     representation in the CSF file. This seems to be necessary for CADENCE
  2947.     conversion.
  2948.  
  2949.   7. You will be asked if you want to relocate any LASI layers (1-32) to
  2950.     CALMA layers (0-63). Sometimes layers above 32 are used on a CALMA for
  2951.     special purposes. You can relocate LASI layers to those layers to
  2952.     conform to a general practice, and then relocate those layers back to
  2953.     LASI layers if you convert back from CALMA.
  2954.  
  2955.   8. CALMA uses several parameters to construct text. The most important
  2956.     are Texttype and Font, which may be used to identify the text. You can
  2957.     relate these to each of four LASI text sizes. The parameters that LASI
  2958.     can set are in order:
  2959.  
  2960.     ∙ Texttype, which can be 0-63.
  2961.  
  2962.     ∙ Font, which can be 0-3.
  2963.  
  2964.     ∙ Magnification, which can be used to change text size if the other
  2965.       parameters produce text of the same size.
  2966.  
  2967.     ∙ Text Width, which is usually 0, but may have to be set so that
  2968.       certain CAD systems will accept the text.
  2969.  
  2970.     ∙ Vertical Justification, which may be set to top, center and bottom.
  2971.       LASI text is always left-bottom justified so normally you will set
  2972.       this to bottom or "B".
  2973.  
  2974.   9. Certain CAD systems use filenames in lowercase. You can have the names
  2975.     of cells or structures converted to lowercase in the CSF file.
  2976.  
  2977.   10. When converting to CALMA, you will be given the choice of converting
  2978.     only certain cells to CALMA structures. This is useful when you have
  2979.     most of your structures already in the CALMA. If you chose to select
  2980.     certain cells to be converted, you will be given a choice of also
  2981.     converting the lesser cells that are used in the specified cells. A
  2982.     list will be displayed during conversion that will show just what cells
  2983.     are being converted to the CSF file.
  2984.  Running CSF2TLC.EXE
  2985.  
  2986.   1. When converting from CALMA to LASI path and filename questions similar
  2987.     to those when running LASI2CSF.EXE will be asked.
  2988.  
  2989.   2. If you have previously run CSF2TLC, there will be a setup file in the
  2990.     drawing directory named CSF2TLC.SET. If this is found, you will be
  2991.     asked if you want to use the information. This can save time if you do
  2992.     conversions often on a drawing. If you choose to use the default setup
  2993.     data, steps 3-8 below will be skipped.
  2994.  
  2995.   3. When converting from CALMA the physical units will automatically be
  2996.     microns, but you may specify the LASI basic units.
  2997.  
  2998.   4. You will be asked if you want to use the "2048"VAX filter. If the
  2999.     binary file has been run through a VAX on magetape, it might contain
  3000.     two extra characters at the CSF record boundaries. You can tell CSF2TLC
  3001.     to drop two characters every 2048 characters. If errors occur try this
  3002.     option.
  3003.  
  3004.   5. You will then be asked for the layers and the datatypes to be
  3005.     converted. You respond to this question with the notation similar to
  3006.     the VIEW, OPEN, etc. commands in LASI, with numbers separated by spaces
  3007.     or dashes.  A space separates individual layers and a dash means
  3008.     "include all layers between".
  3009.  
  3010.   6. You will be given the option of converting CALMA 4-sided rectangular
  3011.     boundaries to LASI boxes. If the rectangular boundaries are not to be
  3012.     modified, boxes are better for LASI.
  3013.  
  3014.   7. There is an option to convert any text found in the stream file to
  3015.     LASI text. The Texttype number (0-63) or the Font number (0-3) in a
  3016.     CALMA text record may be related to a LASI text size. A texttype is
  3017.     always present in a CALMA text record, but font may also be used by
  3018.     other CAD systems. If a texttype of 0-63 is related to a LASI text
  3019.     size, it will be used first, regardless of the font set. If you want to
  3020.     use font, enter "-" as the texttype to use. If neither texttype nor
  3021.     font is designated, a default minimum set of parameters will be used.
  3022.  
  3023.     Additionally you may use some of the other CALMA text parameters by
  3024.     setting them to "y" or "n":
  3025.  
  3026.     ∙ If magnification information is present, it may be used.
  3027.  
  3028.     ∙ If orientation (+/-90, 180 deg) is present, it may be used.
  3029.  
  3030.     ∙ If vertical justification information is present, it may be used.
  3031.  
  3032.     Any multiple line CALMA text will be broken into separate LASI text
  3033.     lines, and any horizontal justification will be changed to left
  3034.     justification.
  3035.  
  3036.     The text that you get may not look exactly the same as the original
  3037.     text since LASI uses its own character patterns.
  3038.  
  3039.   8. You will also be asked to equate CALMA layers to LASI layers. CALMA
  3040.     layers 0 and 33-63 may be relocated to any LASI layers 1-32. Layers
  3041.     that don't exist in LASI may therefore be translated from CALMA to
  3042.     LASI. Any layers not specified that are out of 1-32 will default to
  3043.     layer 32.
  3044.  
  3045.       Example: "0=1" relocates CALMA layer 0 to LASI layer 1.
  3046.  
  3047.  
  3048.   9. Like LASI2CSF, CSF2TLC request options on just which cells or
  3049.     structures you want to be converted. You may name specific cells or
  3050.     structures to be converted if a few are wanted. If the named structures
  3051.     contain other structures that have not been named, CSF2TLC will find
  3052.     these and try to convert them also. You may therefore name only your
  3053.     top structure and CSF2TLC will find the rest.
  3054.  
  3055.   10. LASI cellnames must be legal names for DOS files. The names of the
  3056.     CALMA structures may not conform to DOS standards and must be changed.
  3057.     CSF2TLC will try to find acceptable names, but you may also manually
  3058.     change any illegal names.
  3059.  
  3060.   11. You will be asked if you want CSF2TLC to replace any TLC files that
  3061.     it finds already in the directory. Otherwise, CSF2TLC will keep any old
  3062.     TLC files that it finds and will only create the new ones that it
  3063.     needs.
  3064.  
  3065.   In most questions, the default entry will appear in the parentheses if
  3066.   one is available. Pressing ENTER defaults.
  3067.  CSF2TLC Operations
  3068.  
  3069.   CSF2TLC first scans the CSF file to determine a hierarchy of cells. It
  3070.   also tries to convert CALMA structure names to names that are DOS
  3071.   acceptable. If a name is found that is a reserved word such as "PRN", or
  3072.   the name contains characters that aree illegal in DOS such as "*", you
  3073.   will be asked for a substitute name. If you have told CSF2TLC not to try
  3074.   to rename, any names with greater than 8 characters will call for a
  3075.   substitute also.
  3076.  
  3077.   CSF2TLC will search the current directory for the TLC cell file of a cell
  3078.   that might not exist as a structure in the CSF file, but still be used in
  3079.   other structures in the CSF file. This allows the TLC file of a cell to
  3080.   be reconstructed without the lesser cells being present as structures in
  3081.   the CSF file. The only requirement is that the TLC files of its lesser
  3082.   cells exist already in the drawing directory.
  3083.  
  3084.   After the scanning has been done to establish hierarchy and the presence
  3085.   of TLC files, a list of the cell names, their rank, the presence of the
  3086.   structure in the CSF file, the presence of a TLC file in the directory
  3087.   and the structure name is printed.
  3088.  
  3089.   If the TLC file is already present it is retained even though the
  3090.   structure may exist in the CSF file. To have a new TLC file generated,
  3091.   the old TLC file must be deleted from the current directory, or the
  3092.   option of replacing all TLC files must be used when running CSF2TLC.
  3093.  
  3094.   If the lesser cell exist neither as a structure in the CSF file nor as a
  3095.   TLC file in the drawing directory, then the name of the expected cell is
  3096.   inserted into the TLC file being made and a warning message is given.
  3097.  Possible Problems
  3098.  
  3099.   On conversion from CALMA to LASI, if any structures are missing and a TLC
  3100.   file is not present, there is no way to tell if the missing structures or
  3101.   TLC files contain other missing structures or cells.
  3102.  
  3103.   Presently, arrays of objects do not exist in LASI. Therefore, when
  3104.   converting from CALMA, CSF2TLC makes arrays by copying cells. This can
  3105.   fill the LASI cell capacity if you don't watch out.
  3106.  
  3107.   When CSF2TLC encounters text in a CSF file, it ignores justification and
  3108.   breaks down any multi-line CALMA text into single line LASI text objects.
  3109.   This means that your translated text may not be located in the same
  3110.   place. You should also use only single line left justified text on the
  3111.   CALMA or other drawing system if you intend to bring it into LASI.
  3112.  
  3113.   Some features of CALMA are presently simply ignored, such as stretched
  3114.   components, and nodes.
  3115.  
  3116.   If you abort while CSF2TLC is making a TLC file you will probably get an
  3117.   incomplete file. Erase it.
  3118. HPGL Conversion
  3119.  
  3120.  Introduction
  3121.  
  3122.   LASI drawings can be quit large and complex. It is necessary to produce
  3123.   large plots to examine drawings for errors, or just for display. LASI
  3124.   therefore must be able to produce plots. The most commonly used plotting
  3125.   language is Hewlett-Packard's HPGL (Hewlett-Packard Graphics Language),
  3126.   which is used by all H-P and many other makes of plotters. By using the
  3127.   LASI2HP.EXE program, LASI drawings can be converted directly into HPGL,
  3128.   either as a file, or as a direct drive for a plotter from one of the
  3129.   personal computer's serial ports.
  3130.  Configuration Files
  3131.  
  3132.   Before you run LASI2HP on anything you must make a configuration data
  3133.   file. Run "lasi2hp" and answer "y" to the Configure (y or n) prompt.
  3134.  
  3135.   The program stores plotting configurations in ".PCF" files. The title of
  3136.   a configuration must conform to DOS file naming rules. These files remain
  3137.   in the drawing directory.
  3138.  
  3139.   Some of the questions asked will be defaulted from the program
  3140.   initialization or the previous configuration file. Pressing ENTER to any
  3141.   question will default to the value show in parentheses. Otherwise enter
  3142.   the new value.
  3143.  
  3144.   Some of the questions will be obvious and some may need explanation:
  3145.  
  3146.   1. Configuration will ask if your plotter has a center or lower-left
  3147.     (bottom-left) hardware origin. Most small plotters have a lower-left
  3148.     origin, while larger plotters use a center origin. Read your plotter
  3149.     manual for this information.
  3150.  
  3151.   2. The borders that you must specify are the distance at the edges of a
  3152.     sheet of paper that the plotter can't use, i.e. roller track, etc. Read
  3153.     your plotter manual for this distance. The size of your paper less
  3154.     these borders is the useful size of your paper.
  3155.  
  3156.   3. You can set the location and size of the plotting area on the paper by
  3157.     specifying the left, bottom, right and top edges. You can use this to
  3158.     make multiple drawings on a single sheet of paper.
  3159.  
  3160.   4. If you use hardwired handshaking to keep the plotter buffer from being
  3161.     overflowed by plotting data, you will be asked if you want to use the
  3162.     DSR (data set ready) line or the CTS (clear to send) line to detect
  3163.     that the plotter buffer is full. On an AT type of PC these lines are
  3164.     pins 6 and 8 respectively on a 9-pin serial port. The Hewlett-Packard
  3165.     plotters normally indicate a full buffer by dropping the DTR (pin 20 on
  3166.     the 25-pin RS-232 connector) line. This line can be connected to either
  3167.     CTS or DSR, but DSR is preferred.
  3168.  
  3169.   5. LASI2HP will ask you if you want to use your plotter's polygon mode
  3170.     commands. These are the commands PM, EP and FP which are available on
  3171.     the better plotters (see your plotter manual). These commands allow you
  3172.     to fill closed polygon outlines. If this mode is used paths will be
  3173.     expanded into a closed polygon outline.
  3174.  
  3175.   6. If you want to have paths standout in the drawing answer that you want
  3176.     path center lines drawn. Paths will be drawn with a dashed line along
  3177.     their center.
  3178.  
  3179.   7. LASI2HP will draw any cells that are displayed in LASI Cell Mode as an
  3180.     outline either in outline or in full detail. The configuration may set
  3181.     to always draw fully if desired. You may also set the pen to be used
  3182.     for outlines.
  3183.  
  3184.   8. Each layer has three attributes, Pen, Line and Fill. You may assign
  3185.     attributes randomly, by giving a layer number 1 to 32 to the "Layer?"
  3186.     question. Pressing ENTER only will end the assignment process.
  3187.  
  3188.   9. When assigning pens to layers note that you may enter up to 8
  3189.     different pens. Your plotter might not support that many, so assign
  3190.     them accordingly.
  3191.  
  3192.   10. You may assign different line types to make dashed lines. The types
  3193.     are numbered 0-6 and correspond to the line types described in the H-P
  3194.     plotter manual that comes with an H-P plotter. If a line is to be drawn
  3195.     solid, set the layer by pressing only ENTER.  A dash "-" will indicate
  3196.     a solid line on that layer.
  3197.  
  3198.   11. You may set the fill type attribute to be used on a layer. These
  3199.     presently are left crosshatch, right crosshatch, horizontal, vertical
  3200.     and nothing (indicated by "L","R","H","V" and "-"). Boxes will always
  3201.     be filled, but you must use the plotter's polygon mode to fill polygon
  3202.     outlines.
  3203.  
  3204.   12. If a layer has had its Fill set as above, and a line type has also
  3205.     been set, the line type is used as the fill line type. The outline of a
  3206.     filled area is drawn solid and not with the line type set for that
  3207.     layer. The spacing of the dashes and fill lines will be calculated from
  3208.     the fill spacing configuration parameter.
  3209.  
  3210.   13. After you are satisfied with the configuration, you may store it with
  3211.     the same title or any other title. You can save time by copying
  3212.     configurations, make changes, and then storing under a new title.
  3213.  Running LASI2HP.EXE
  3214.  
  3215.   LASI2HP.EXE reads .BP4 and .CL4 internal files in the local drawing
  3216.   directory.
  3217.  
  3218.   You must be logged into the drawing directory of the cell to be plotted.
  3219.  
  3220.   To drive a plotter directly, the plotter must be connected to one of the
  3221.   computer's serial ports, COM1, COM2, COM3 or COM4.
  3222.  
  3223.  
  3224.   There are 3 ways to run LASI2HP:
  3225.  
  3226.   1. Run by typing "lasi2hp", which allows you to configure and then run a
  3227.     plot, or to simply make configuration files.
  3228.  
  3229.   2. Run by typing (or batch filing) "lasi2hp name", where "name" is the
  3230.     cell that you want to plot. In this case configuration must be done
  3231.     previously, and the plot will be fitted to the full size of the cell.
  3232.  
  3233.   3. Run by typing "lasi2hp name x-center y-center width". This is how LASI
  3234.     passes the particular window to be plotted when the PLOT button is
  3235.     pushed in the System Mode menu.
  3236.  
  3237.  
  3238.   In each case you will be asked for the configuration title and whether
  3239.   your plotter or disk is ready.
  3240.  
  3241.   When making a plotting file you may specify a name, path or disk for the
  3242.   output file. Entering nothing makes a file with the plotted cell's name
  3243.   in the local drawing directory.
  3244.  Other Uses
  3245.  
  3246.   Since the plot file that LASI2HP makes is in standard HPGL language. The
  3247.   file can be changed to other formats using a converter such as HIJAAK. It
  3248.   can also be converted directly by WordPerfect 5.1 and other desktop
  3249.   publishers into drawings that can be inserted into WordPerfect (or other
  3250.   DTP) written text. Drawings made by LASI can therefore be placed directly
  3251.   into reports, theses, dissertations, etc. that are written using common
  3252.   wordprocessors that can do graphics converted from HPGL.
  3253.  
  3254.   The HPGL can be converted into LaserJet format to print high quality
  3255.   diagrams. Also, conversion to FAX format is possible so that you can send
  3256.   high quality fax diagrams using any of the available fax boards.
  3257. Text Generation
  3258.  
  3259.  Introduction
  3260.  
  3261.   Text is generated by LASI Version 4 by storing strings of ASCII
  3262.   characters as though they were paths. A reference point is stored as the
  3263.   first vertex, and then subsequent vertices contain up to 4 ASCII
  3264.   character bytes. When a string of text is drawn, it is expanded much like
  3265.   a path, except that the characters are drawn in sequence from predefined
  3266.   polygon patterns.
  3267.  
  3268.   Each character is defined in the Text Font File. (TXT.DBD is the generic
  3269.   file supplied with the system.) This file may have any name other that
  3270.   TXT.DBD, but this name must be installed the FORM.DBD file using the
  3271.   "text=" parameter. Otherwise the default "TXT.DBD" is assumed. Read the
  3272.   Form File General Information topic.
  3273.  
  3274.   The Text Font File is a binary file which contains a single record of 128
  3275.   bytes for each of 96 characters. The characters may be drawn and modified
  3276.   by the user using LASI itself. The information in this file is loaded
  3277.   into memory when LASI is started, so that drawing of text can be done
  3278.   without slow disk access.
  3279.  
  3280.   When entering text, the position is requested and the size and layer are
  3281.   taken from the current pathwidth and layer settings. The text string is
  3282.   then simply typed in and terminated by ENTER. Like paths, text layer,
  3283.   size, orientation and position can be changed using the same commands
  3284.   that are used for paths.
  3285.  The Text Font File
  3286.  
  3287.   The Text Font File is ninety-six 128 byte records long. Each record
  3288.   corresponds to an ASCII character starting at decimal 32 (space) and
  3289.   ending at decimal 127 (delete, non-printing). When a character is typed
  3290.   under LASI, the correct record is found and the information is used to
  3291.   make path objects in the drawing. The records are randomly written by the
  3292.   MAKETXT.EXE program by typing the desired character and then giving the
  3293.   name of the cell which contains the character drawing.
  3294.  
  3295.   The vertices of the path pattern are written in a single byte of a record
  3296.   in the form of the X-coordinate as the upper 4 bits and the Y-coordinate
  3297.   as the lower 4 bits (nibbles). The coordinates may then be only the
  3298.   numbers 0-15. The coordinate combination (15,15) is however prohibited
  3299.   because it is used to indicate the end of a path.
  3300.  
  3301.   A record therefore contains vertex coordinate bytes from 0-254, with 255
  3302.   decimal (or FF in Hex) bytes marking the end of a path. The remaining
  3303.   bytes in a record are always filled with FF bytes to prevent further
  3304.   paths being made as the record is read.
  3305.  
  3306.   The maximum number of vertices that a record can hold is dependent on the
  3307.   number of independent paths, but can be determined from:
  3308.  
  3309.               total no. vertices = 128 - total no. paths
  3310.  
  3311.  
  3312.   There can be any character drawing in the pattern file corresponding to a
  3313.   given typed character. In fact, different Text Font Files (with different
  3314.   names) can be kept for different uses, and they can be conveniently
  3315.   "turned on" by naming them in the Form File.
  3316.  The Character Field
  3317.  
  3318.   Characters start as little cells containing a drawing of a character. The
  3319.   data format of the character drawing is quite different from a cell and
  3320.   will be describe later. A character is drawn as a rank 1 cell using paths
  3321.   (of 0 width) on a 16x16 field of basic drawing units. The lower left
  3322.   corner of the field is position 0,0. The vertices of the paths fall on
  3323.   the basic unit grid points. The vertices may be on any grid point except
  3324.   15,15.
  3325.  
  3326.  
  3327.                                               15
  3328.                 . . . . . . . . . . . . . . . x 15  (15,15 not used)
  3329.                 . . . . . . . . . . . . . . . .
  3330.                 . . . . . . . . . . . . . . . .
  3331.                 . . . . . . . . . . . . . . . .
  3332.                 . . . . . . . . . . . . . . . .
  3333.                 . . . . . . . . . . . . . . . .
  3334.                 . . . . . . . . . . . . . . . .
  3335.                 . . . . . . . . . . . . . . . .  ^
  3336.                 . . . . . . . . . . . . . . . .  |
  3337.                 . . . . . . . . . . . . . . . .  Y
  3338.                 . . . . . . . . . . . . . . . .
  3339.                 . . . . . . . . . . . . . . . .
  3340.                 . . . . . . . . . . . . . . . .
  3341.                 . . . . . . . . . . . . . . . .
  3342.                 . . . . . . . . . . . . . . . .
  3343.       (origin)0 . . . . . . . . . . . . . . . .
  3344.                 0
  3345.                             X -->
  3346.  
  3347.                 Character Drawing Field in basic units
  3348.  
  3349.  
  3350.   Once a character cell is drawn, the program MAKETXT.EXE is used to
  3351.   install the character in the Text Font File.
  3352.  Usefulness of Text
  3353.  
  3354.   Text is usually used to mark your drawings with information such as the
  3355.   names of cells or component names and values. Text will be translated
  3356.   with the other drawing data into text in other drawing systems. Text may
  3357.   also be used as a pattern for putting writing on IC masks by smashing the
  3358.   text using the SMSH command and giving the resulting polygons some width.
  3359.  
  3360.   Text objects have a very useful property. Inversely, text can be
  3361.   considered as a NODE or single point with a NAME. You can therefore use
  3362.   text to mark connection points to cells or subassemblies. You can then
  3363.   search for those points by name and obtain a physical location on a
  3364.   drawing. This can be used to do automatic cell placement and inter-
  3365.   connection. This  means that you can do schematic capture or do actual
  3366.   layout from wiring lists used by programs like PSPICE. You would write
  3367.   programs in C or BASIC that create TLC files that would immediately
  3368.   translate into a layout.
  3369. System Contents
  3370.  
  3371.  LASI System Files
  3372.  
  3373.   LASI.EXE        Main program
  3374.   LASIA.EXE       No coprocessor version of LASI.EXE
  3375.   LASI2CSF.EXE    LASI to CALMA converter
  3376.   CSF2TLC.EXE     CALMA to TLC converter
  3377.   LHI.EXE         LASI help and information reader
  3378.   LHI.HLP         LASI help and information data file
  3379.   LASI2HP.EXE     Hewlett-Packard plotter utility
  3380.   MAKETXT.EXE     Text Font File maker
  3381.   TLC.EXE         Transportable cell file converter
  3382.  
  3383.   CELLSORT.EXE    Cell sorting utility
  3384.   CPYLAYER.EXE    Drawing global layer copier utility
  3385.   DELLAYER.EXE    Drawing global layer deleting utility
  3386.   MOVLAYER.EXE    Drawing global layer mover utility
  3387.   RESIZE.EXE      Resizing utility
  3388.   SNAP.EXE        Cell grid snapping utility
  3389.   TILT.EXE        Drawing tilting 3-D presentation utility
  3390.   UNDUP.EXE       Drawing duplicate object remover utility
  3391.  
  3392.   3TO4.COM        LASI vers 3 to vers 4 converter
  3393.   LPHCPY.COM      Screen hardcopy for Epson type FX and LQ printers
  3394.   LJHCPY.COM      Screen hardcopy for LaserJet type printers
  3395.  
  3396.   FORM.DBD        Generic configuration file
  3397.   TXT.DBD         Generic Text Font File
  3398.  
  3399.   Optional:       (Available on Request)
  3400.   DEMO            Demonstration layout
  3401.   CHRS            Text character cell collection
  3402. System Log
  3403.  
  3404.  System Update Log for Version 4.0
  3405.  
  3406.   Changes since Version 3.5:
  3407.  
  3408.   The LASI.EXE program has been completely rewritten in a combination of C
  3409.   and Assembly Language. Many new features have been added, which include:
  3410.  
  3411.   1. Text objects, which retain the ASCII character identity and which use
  3412.     much less memory than the previous text that was generated from poly
  3413.     objects. The new text is treated as a modified poly object and may be
  3414.     rotated and reflected using the same commands. Since it keeps its ASCII
  3415.     identity, the new text may be translated as true text into other
  3416.     drawing systems.
  3417.  
  3418.   2. New internal data format, which uses less memory and loads faster. A
  3419.     conversion program 3TO4.COM is supplied to change the old format into
  3420.     the new format.
  3421.  
  3422.   3. VGA 640x480 pixel display mode support, with automatic VGA sensing,
  3423.     but an optional EGA 640x350 display mode.
  3424.  
  3425.   4. User definable function keys that allow any command formerly needing
  3426.     mouse or keyboard input to be executed by simply pressing a function
  3427.     button. (40 keys, F1-10, SHIFT F1-10, CTRL F1-10, ALT F1-10)
  3428.  
  3429.   5. An oversize command OVSZ that replaces the BPEXP.EXE program
  3430.     previously supplied, that allows boxes, poly and paths to be expanded
  3431.     or compressed by a constant distance.
  3432.  
  3433.   6. Different dashed line patterns that are assigned as an attribute to
  3434.     each drawing layer.
  3435.  
  3436.   7. A drawing cell collection that can now hold 500 different cells in
  3437.     place of 255 as with previous versions.
  3438.  
  3439.   8. New hardcopy programs that work with VGA or EGA automatically.
  3440.  
  3441.   9. A WGRD command that when assigned to a function key accepts working
  3442.     grid size argumemts.
  3443.  
  3444.   10. A CMOV command that moves cells only.
  3445.  
  3446.   11. Improved RES and CAP commands with automatic measuring.
  3447.  
  3448.   12. Different text fonts may now be included in the Form File.
  3449.  
  3450.   13. The cursor can now be toggled between a small cross and crosshairs.
  3451.  
  3452.   14. LASI.EXE now works only with a coprocessor. Another version LASIA.EXE
  3453.     is supplied for non-coprocessor computers.
  3454.  
  3455.   15. TLC.EXE now generates token files for missing or incorrect cells.
  3456.  
  3457.   16. Outlined cells now have their name in the lower left corner
  3458.  
  3459.   17. OUTL and FULL commands now work directly, not only on active cells,
  3460.     and these commands are now resident commands.
  3461.  
  3462.   18. A cells history feature has been added that allows you to retrace a
  3463.     series of nested cells.
  3464.  
  3465.   19. The JOIN command now closes open polygons.
  3466.  
  3467.   20. The working and unit cursor grids can be toggled by pressing the CTRL
  3468.     key OR the ALT key. The effect of the cursor window on certain cell
  3469.     commands can be toggled by pressing the CTRL key AND the ALT key.
  3470.  
  3471.   21. The CALMA conversion programs LASI2CSF.EXE and CSF2TLC.EXE now have
  3472.     more elaborate text conversion facilities.
  3473.  
  3474.   22. The SMSH command now works on text and boxes.
  3475. Suggestion Box
  3476.  
  3477.  Suggestions for Improvement
  3478.  
  3479.   These are some of the ideas for LASI improvements or for special programs
  3480.   that operate in the LASI drawing environment. Some are fairly ambitious.
  3481.   People are encouraged to contribute ideas of their own or, even better,
  3482.   to write programs using TLC that do useful things.
  3483.  
  3484.   1. Design Rule Checking - a utility program that allows you to do inter
  3485.     and intra layer distance checking to find the layout errors that you
  3486.     never seem to notice.
  3487.  
  3488.   2. Automatic Layout - a utility program that takes connection information
  3489.     from lists used by simulation programs (various SPICE's) and uses the
  3490.     node property of LASI text to place and interconnect cells.
  3491.  
  3492.   3. Automatic Verification - a utility program that uses the properties of
  3493.     design rule checking and text nodes to determine if everything is
  3494.     properly connected in an IC layout.
  3495.  
  3496.   4. A 32-bit LASI - another version of the LASI drawing program that uses
  3497.     32-bit position information instead of 16-bit. This would give almost
  3498.     unlimited precision, but would require more memory usage and slightly
  3499.     slower operation. Present IC technology is borderline with 16-bit
  3500.     precision, so this may be the next version of LASI.
  3501.  
  3502.   5. Memory Management - a higher precision version of LASI will require
  3503.     more drawing data memory than is available in a PC's 640K of
  3504.     conventional memory. To find more memory LASI will have to swap blocks
  3505.     of data probably to expanded memory (EMS). This will slow LASI down a
  3506.     bit but will allow almost unlimited drawing size.
  3507.  
  3508.   6. Graphics Hardware Support - although LASI is intended to run on
  3509.     conventional hardware, graphical processor boards that accept vector
  3510.     data inputs may someday be used. The drawing speed should greatly
  3511.     improve and higher resolution will be available. LASI presently draws
  3512.     more or less pixel by pixel, but internally vector information is used
  3513.     which could be passed to a graphics processor.
  3514.  
  3515.